package pwc.taxtech.atms.service; import java.util.List; import pwc.taxtech.atms.dto.LogOnDto; import pwc.taxtech.atms.dto.LoginInputDto; import pwc.taxtech.atms.dto.LoginOutputDto; import pwc.taxtech.atms.dto.OperationResultDto; import pwc.taxtech.atms.dto.organization.DimensionRoleDto; import pwc.taxtech.atms.dto.permission.UserPermissionDto; import pwc.taxtech.atms.dto.permission.UserPermissionKeyDto; import pwc.taxtech.atms.dto.user.UserAndUserRoleSaveDto; import pwc.taxtech.atms.dto.user.UserDto; import pwc.taxtech.atms.dto.user.UserPasswordDto; import pwc.taxtech.atms.dto.user.UserRoleDimensionValueDto; import pwc.taxtech.atms.entitiy.User; import pwc.taxtech.atms.entitiy.UserOrganization; public interface UserService { UserPermissionDto getUserPermission(String userName); UserPermissionKeyDto getUserPermissionKey(String userName); User getUser(String id); OperationResultDto<LoginOutputDto> login(LoginInputDto input); OperationResultDto<LogOnDto> changeExternalUserPassword(UserPasswordDto userPasswordDto); OperationResultDto<LoginOutputDto> activeCheck(User tempUser); OperationResultDto<LoginOutputDto> externalUserLogin(User tempUser, String email, String password); UserDto getUserByID(String userId); List<User> findAllUsers(); OperationResultDto<User> updateUser(UserAndUserRoleSaveDto userDto); OperationResultDto<User> checkEmailExist(String email, String userID); OperationResultDto<User> checkUserExist(String userName, String userID); void deleteUserDimensionValue(DimensionRoleDto dto, String userID); @SuppressWarnings("rawtypes") OperationResultDto deleteUserOrg(List<UserRoleDimensionValueDto> userRoleList); List<UserOrganization> findUserOrganizationByUserIDAndOrganizationID(String userID, String organizationID); UserDto getUserByDto(UserDto userParam); }