Package org.motechproject.mots.web
Class UserController
- java.lang.Object
-
- org.motechproject.mots.web.BaseController
-
- org.motechproject.mots.web.UserController
-
@Controller public class UserController extends BaseController
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringROLE_PARAM
-
Constructor Summary
Constructors Constructor Description UserController()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringchangeCurrentUserPassword(java.lang.String oldPassword, java.lang.String newPassword, java.security.Principal principal)Update User password.RoleDtocreateRole(@Valid RoleDto roleDto, org.springframework.validation.BindingResult bindingResult)Create Role from given dto.UserDtocreateUser(@Valid UserDto userDto, org.springframework.validation.BindingResult bindingResult)Create User.java.util.List<PermissionDto>getPermissions()Get list of permissions.RoleDtogetRole(java.util.UUID id)GetUserRolewith given id.java.util.List<RoleDto>getRoles()Get list of roles.UserDtogetUser(java.util.UUID id)Get User with given id.UserProfileDtogetUserProfile(java.security.Principal principal)Get info about current logged-in User.java.util.List<UserDto>getUsers()Get list of users.RoleDtosaveRole(java.util.UUID id, @Valid RoleDto roleDto, org.springframework.validation.BindingResult bindingResult)UpdateUserRolefrom given dto.UserDtosaveUser(java.util.UUID id, @Valid UserDto userDto, org.springframework.validation.BindingResult bindingResult)Update User.UserProfileDtosaveUserProfile(java.util.UUID id, @Valid UserProfileDto userProfileDto, org.springframework.validation.BindingResult bindingResult)Update profile information about User.org.springframework.data.domain.Page<RoleDto>searchRoles(java.lang.String name, org.springframework.data.domain.Pageable pageable)Finds roles matching all of the provided parameters.org.springframework.data.domain.Page<UserDto>searchUsers(java.lang.String username, java.lang.String email, java.lang.String name, java.lang.String role, org.springframework.data.domain.Pageable pageable)Finds users matching all of the provided parameters.-
Methods inherited from class org.motechproject.mots.web.BaseController
checkBindingResult, getErrors
-
-
-
-
Field Detail
-
ROLE_PARAM
public static final java.lang.String ROLE_PARAM
- See Also:
- Constant Field Values
-
-
Method Detail
-
getUsers
@RequestMapping(value="/user", method=GET) @ResponseStatus(OK) @ResponseBody public java.util.List<UserDto> getUsers()Get list of users.- Returns:
- list of all users
-
searchUsers
@RequestMapping(value="/user/search", method=GET) @ResponseStatus(OK) @ResponseBody public org.springframework.data.domain.Page<UserDto> searchUsers(@RequestParam(value="username",required=false) java.lang.String username, @RequestParam(value="email",required=false) java.lang.String email, @RequestParam(value="name",required=false) java.lang.String name, @RequestParam(value="role",required=false) java.lang.String role, org.springframework.data.domain.Pageable pageable)Finds users matching all of the provided parameters. If there are no parameters, return all users.- Parameters:
pageable- pagination parameters (page size, page number, sort order)name- name of a useremail- email of a userrole- name of role of a userusername- username of user- Returns:
- page with found users
-
getUser
@RequestMapping(value="/user/{id}", method=GET) @ResponseStatus(OK) @ResponseBody public UserDto getUser(@PathVariable("id") java.util.UUID id)Get User with given id.- Parameters:
id- id of User to find- Returns:
- User with given id
-
createUser
@RequestMapping(value="/user", method=POST) @ResponseStatus(CREATED) @ResponseBody public UserDto createUser(@RequestBody @Valid @Valid UserDto userDto, org.springframework.validation.BindingResult bindingResult)Create User.- Parameters:
userDto- DTO of User to be createdbindingResult- spring object used for validation- Returns:
- created User
-
saveUser
@RequestMapping(value="/user/{id}", method=PUT) @ResponseStatus(OK) @ResponseBody public UserDto saveUser(@PathVariable("id") java.util.UUID id, @RequestBody @Valid @Valid UserDto userDto, org.springframework.validation.BindingResult bindingResult)Update User.- Parameters:
id- id of User to updateuserDto- DTO of User to be updatedbindingResult- spring object used for validation- Returns:
- updated User
-
changeCurrentUserPassword
@RequestMapping(value="/user/passwordchange", method=POST) @ResponseStatus(OK) @ResponseBody public java.lang.String changeCurrentUserPassword(@RequestParam("oldPassword") java.lang.String oldPassword, @RequestParam("newPassword") java.lang.String newPassword, java.security.Principal principal)Update User password.- Parameters:
oldPassword- user previous password, should be the same as current passwordnewPassword- user's new passwordprincipal- java security object- Returns:
- success message
-
saveUserProfile
@RequestMapping(value="/user/profile/{id}", method=PUT) @ResponseStatus(OK) @ResponseBody public UserProfileDto saveUserProfile(@PathVariable("id") java.util.UUID id, @RequestBody @Valid @Valid UserProfileDto userProfileDto, org.springframework.validation.BindingResult bindingResult)Update profile information about User.- Parameters:
id- id of User to update ProfileuserProfileDto- DTO of User Profile to be updatedbindingResult- spring object used for validation- Returns:
- updated User Profile
-
getUserProfile
@RequestMapping(value="/user/profile", method=GET) @ResponseStatus(OK) @ResponseBody public UserProfileDto getUserProfile(java.security.Principal principal)Get info about current logged-in User.- Parameters:
principal- java security object- Returns:
- dto of user profile
-
getRoles
@RequestMapping(value="/role", method=GET) @ResponseStatus(OK) @ResponseBody public java.util.List<RoleDto> getRoles()Get list of roles.- Returns:
- list of all roles
-
getPermissions
@RequestMapping(value="/permission", method=GET) @ResponseStatus(OK) @ResponseBody public java.util.List<PermissionDto> getPermissions()Get list of permissions.- Returns:
- list of all permissions
-
getRole
@RequestMapping(value="/role/{id}", method=GET) @ResponseStatus(OK) @ResponseBody public RoleDto getRole(@PathVariable("id") java.util.UUID id)GetUserRolewith given id.- Parameters:
id- id of Role to find- Returns:
- Role with given id
-
searchRoles
@RequestMapping(value="/role/search", method=GET) @ResponseStatus(OK) @ResponseBody public org.springframework.data.domain.Page<RoleDto> searchRoles(@RequestParam(value="name",required=false) java.lang.String name, org.springframework.data.domain.Pageable pageable)Finds roles matching all of the provided parameters. If there are no parameters, return all roles.- Parameters:
name- name of the rolepageable- pagination parameters (page size, page number, sort order)- Returns:
- page with roles matching provided parameters
-
createRole
@RequestMapping(value="/role", method=POST) @ResponseStatus(OK) @ResponseBody public RoleDto createRole(@RequestBody @Valid @Valid RoleDto roleDto, org.springframework.validation.BindingResult bindingResult)Create Role from given dto.- Parameters:
roleDto- DTO of Role to be createdbindingResult- spring object used for validation- Returns:
- created Role
-
saveRole
@RequestMapping(value="/role/{id}", method=PUT) @ResponseStatus(OK) @ResponseBody public RoleDto saveRole(@PathVariable("id") java.util.UUID id, @RequestBody @Valid @Valid RoleDto roleDto, org.springframework.validation.BindingResult bindingResult)UpdateUserRolefrom given dto.- Parameters:
id- id of Role to updateroleDto- DTO of Role to be updatedbindingResult- spring object used for validation- Returns:
- updated Role
-
-