package com.huawei.esdk.ivs.professional.local.service.usermanager;

import com.huawei.esdk.ivs.professional.local.bean.IVSSDKResponse;
import com.huawei.esdk.ivs.professional.local.bean.IndexRange;
import com.huawei.esdk.ivs.professional.local.bean.QueryUnifiedFormat;
import com.huawei.esdk.ivs.professional.local.bean.RoleInfos;
import com.huawei.esdk.ivs.professional.local.bean.UserGroupInfos;
import com.huawei.esdk.ivs.professional.local.bean.UserInfo;
import com.huawei.esdk.ivs.professional.local.bean.UserInfos;

public interface UserManagerServiceEx {

    IVSSDKResponse<Integer> getUserId();
    IVSSDKResponse<UserInfo> getUserInfo(String domainCode, Integer userId);
    IVSSDKResponse<Integer> addUser(UserInfo userInfo);
    Integer changePassword(String oldPassword, String newPassword);
    Integer modifyUser(UserInfo userInfo);
    Integer deleteUser(String domainCode, Integer userId);
    IVSSDKResponse<UserInfos> getUserList(String domainCode, QueryUnifiedFormat unifiedQuery);
    IVSSDKResponse<RoleInfos> getRoleList(String domainCode);
    IVSSDKResponse<UserGroupInfos> getUserGroupList(String domainCode, IndexRange indexRange);
}
