Search in sources :

Example 6 with UserDto

use of org.entando.entando.aps.system.services.user.model.UserDto in project entando-core by entando.

the class UserService method getUsers.

@Override
public PagedMetadata<UserDto> getUsers(RestListRequest requestList) {
    try {
        // transforms the filters by overriding the key specified in the request with the correct one known by the dto
        List<FieldSearchFilter> filters = new ArrayList<FieldSearchFilter>(requestList.buildFieldSearchFilters());
        filters.stream().filter(i -> ((i.getKey() != null) && (UserDto.getEntityFieldName(i.getKey()) != null))).forEach(i -> i.setKey(UserDto.getEntityFieldName(i.getKey())));
        List<UserDetails> users = null;
        if (filters.size() > 0) {
            String text = (String) filters.get(0).getValue();
            users = this.getUserManager().searchUsers(text);
        } else {
            users = this.getUserManager().getUsers();
        }
        List<UserDto> dtoList = dtoBuilder.convert(users);
        SearcherDaoPaginatedResult<UserDetails> result = new SearcherDaoPaginatedResult<>(users.size(), users);
        PagedMetadata<UserDto> pagedMetadata = new PagedMetadata<>(requestList, result);
        pagedMetadata.setBody(dtoList);
        return pagedMetadata;
    } catch (Throwable t) {
        logger.error("error in search groups", t);
        throw new RestServerError("error in search groups", t);
    }
}
Also used : UserDetails(com.agiletec.aps.system.services.user.UserDetails) IAuthenticationProviderManager(com.agiletec.aps.system.services.user.IAuthenticationProviderManager) UserAuthoritiesRequest(org.entando.entando.web.user.model.UserAuthoritiesRequest) Logger(org.slf4j.Logger) ApsSystemException(com.agiletec.aps.system.exception.ApsSystemException) UserDto(org.entando.entando.aps.system.services.user.model.UserDto) LoggerFactory(org.slf4j.LoggerFactory) Autowired(org.springframework.beans.factory.annotation.Autowired) RestRourceNotFoundException(org.entando.entando.aps.system.exception.RestRourceNotFoundException) UserAuthorityDto(org.entando.entando.aps.system.services.user.model.UserAuthorityDto) UserRequest(org.entando.entando.web.user.model.UserRequest) UserPasswordRequest(org.entando.entando.web.user.model.UserPasswordRequest) ArrayList(java.util.ArrayList) FieldSearchFilter(com.agiletec.aps.system.common.FieldSearchFilter) List(java.util.List) User(com.agiletec.aps.system.services.user.User) RestListRequest(org.entando.entando.web.common.model.RestListRequest) RestServerError(org.entando.entando.aps.system.exception.RestServerError) SearcherDaoPaginatedResult(com.agiletec.aps.system.common.model.dao.SearcherDaoPaginatedResult) IUserManager(com.agiletec.aps.system.services.user.IUserManager) PagedMetadata(org.entando.entando.web.common.model.PagedMetadata) IAuthorizationManager(com.agiletec.aps.system.services.authorization.IAuthorizationManager) IDtoBuilder(org.entando.entando.aps.system.services.IDtoBuilder) PagedMetadata(org.entando.entando.web.common.model.PagedMetadata) UserDto(org.entando.entando.aps.system.services.user.model.UserDto) ArrayList(java.util.ArrayList) SearcherDaoPaginatedResult(com.agiletec.aps.system.common.model.dao.SearcherDaoPaginatedResult) UserDetails(com.agiletec.aps.system.services.user.UserDetails) RestServerError(org.entando.entando.aps.system.exception.RestServerError) FieldSearchFilter(com.agiletec.aps.system.common.FieldSearchFilter)

Example 7 with UserDto

use of org.entando.entando.aps.system.services.user.model.UserDto in project entando-core by entando.

the class UserControllerUnitTest method mockUser.

private UserDto mockUser() {
    User user1 = new User();
    user1.setUsername("user");
    user1.setDisabled(false);
    user1.setLastAccess(new Date());
    user1.setLastPasswordChange(new Date());
    user1.setMaxMonthsSinceLastAccess(2);
    user1.setMaxMonthsSinceLastPasswordChange(1);
    String password;
    try {
        password = this.getEncrypter().encrypt("password");
    } catch (ApsSystemException ex) {
        password = "plain_password";
    }
    user1.setPassword(password);
    return new UserDto(user1);
}
Also used : User(com.agiletec.aps.system.services.user.User) UserDto(org.entando.entando.aps.system.services.user.model.UserDto) ApsSystemException(com.agiletec.aps.system.exception.ApsSystemException) Date(java.util.Date)

Example 8 with UserDto

use of org.entando.entando.aps.system.services.user.model.UserDto in project entando-core by entando.

the class UserController method getUsers.

@RestAccessControl(permission = Permission.MANAGE_USERS)
@RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> getUsers(RestListRequest requestList) {
    logger.debug("getting users details with request {}", requestList);
    PagedMetadata<UserDto> result = this.getUserService().getUsers(requestList);
    return new ResponseEntity<>(new RestResponse(result.getBody(), null, result), HttpStatus.OK);
}
Also used : ResponseEntity(org.springframework.http.ResponseEntity) RestResponse(org.entando.entando.web.common.model.RestResponse) UserDto(org.entando.entando.aps.system.services.user.model.UserDto) RestAccessControl(org.entando.entando.web.common.annotation.RestAccessControl) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 9 with UserDto

use of org.entando.entando.aps.system.services.user.model.UserDto in project entando-core by entando.

the class RoleService method getRoleReferences.

@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public PagedMetadata<UserDto> getRoleReferences(String roleCode, RestListRequest restRequest) {
    Role role = this.getRoleManager().getRole(roleCode);
    if (null == role) {
        logger.warn("no role found with code {}", roleCode);
        throw new RestRourceNotFoundException(RoleValidator.ERRCODE_ROLE_NOT_FOUND, "role", roleCode);
    }
    List<UserDto> dtoList = this.getAuthorizationService().getRoleUtilizer(roleCode);
    List<UserDto> subList = restRequest.getSublist(dtoList);
    SearcherDaoPaginatedResult<UserDto> pagedResult = new SearcherDaoPaginatedResult(dtoList.size(), subList);
    PagedMetadata<UserDto> pagedMetadata = new PagedMetadata<>(restRequest, pagedResult);
    pagedMetadata.setBody(subList);
    return pagedMetadata;
}
Also used : Role(com.agiletec.aps.system.services.role.Role) RestRourceNotFoundException(org.entando.entando.aps.system.exception.RestRourceNotFoundException) PagedMetadata(org.entando.entando.web.common.model.PagedMetadata) UserDto(org.entando.entando.aps.system.services.user.model.UserDto) SearcherDaoPaginatedResult(com.agiletec.aps.system.common.model.dao.SearcherDaoPaginatedResult)

Example 10 with UserDto

use of org.entando.entando.aps.system.services.user.model.UserDto in project entando-core by entando.

the class RoleService method validateRoleForDelete.

protected BeanPropertyBindingResult validateRoleForDelete(Role role) {
    BeanPropertyBindingResult errors = new BeanPropertyBindingResult(role, "role");
    List<UserDto> users = this.getAuthorizationService().getRoleUtilizer(role.getName());
    if (!users.isEmpty()) {
        errors.reject(RoleValidator.ERRCODE_ROLE_REFERENCES, new String[] { role.getName() }, "role.cannot.delete.references");
    }
    return errors;
}
Also used : BeanPropertyBindingResult(org.springframework.validation.BeanPropertyBindingResult) UserDto(org.entando.entando.aps.system.services.user.model.UserDto)

Aggregations

UserDto (org.entando.entando.aps.system.services.user.model.UserDto)13 RestAccessControl (org.entando.entando.web.common.annotation.RestAccessControl)6 RestResponse (org.entando.entando.web.common.model.RestResponse)6 ResponseEntity (org.springframework.http.ResponseEntity)6 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)6 ApsSystemException (com.agiletec.aps.system.exception.ApsSystemException)4 ArrayList (java.util.ArrayList)4 SearcherDaoPaginatedResult (com.agiletec.aps.system.common.model.dao.SearcherDaoPaginatedResult)3 User (com.agiletec.aps.system.services.user.User)3 RestServerError (org.entando.entando.aps.system.exception.RestServerError)3 ValidationGenericException (org.entando.entando.web.common.exceptions.ValidationGenericException)3 PagedMetadata (org.entando.entando.web.common.model.PagedMetadata)3 UserDetails (com.agiletec.aps.system.services.user.UserDetails)2 Date (java.util.Date)2 RestRourceNotFoundException (org.entando.entando.aps.system.exception.RestRourceNotFoundException)2 RestListRequest (org.entando.entando.web.common.model.RestListRequest)2 FieldSearchFilter (com.agiletec.aps.system.common.FieldSearchFilter)1 IAuthorizationManager (com.agiletec.aps.system.services.authorization.IAuthorizationManager)1 GroupUtilizer (com.agiletec.aps.system.services.group.GroupUtilizer)1 Role (com.agiletec.aps.system.services.role.Role)1