Interface UserService

All Superinterfaces:
AnyService<UserTO>, JAXRSService
All Known Implementing Classes:
UserServiceImpl

@Path("users") public interface UserService extends AnyService<UserTO>
REST operations for users.
  • Method Details

    • read

      UserTO read(String key)
      Description copied from interface: AnyService
      Reads the any object matching the provided key.
      Specified by:
      read in interface AnyService<UserTO>
      Parameters:
      key - if value looks like a UUID then it is interpreted as key, otherwise as a (user)name
      Returns:
      any object with matching key
    • search

      PagedResult<UserTO> search(AnyQuery anyQuery)
      Description copied from interface: AnyService
      Returns a paged list of any objects matching the given query.
      Specified by:
      search in interface AnyService<UserTO>
      Parameters:
      anyQuery - query conditions
      Returns:
      paged list of any objects matching the given query
    • create

      @POST @Produces({"application/json","application/yaml","application/xml"}) @Consumes({"application/json","application/yaml","application/xml"}) Response create(@NotNull @NotNull UserCR createReq)
      Creates a new user.
      Parameters:
      createReq - user create request
      Returns:
      Response object featuring Location header of created user as well as the user itself enriched with propagation status information
    • update

      @PATCH @Path("{key}") @Produces({"application/json","application/yaml","application/xml"}) @Consumes({"application/json","application/yaml","application/xml"}) Response update(@NotNull @NotNull UserUR updateReq)
      Updates user matching the provided key.
      Parameters:
      updateReq - modification to be applied to user matching the provided key
      Returns:
      Response object featuring the updated user enriched with propagation status information
    • status

      @POST @Path("{key}/status") @Produces({"application/json","application/yaml","application/xml"}) @Consumes({"application/json","application/yaml","application/xml"}) Response status(@NotNull @NotNull StatusR updateReq)
      Performs a status update on given user.
      Parameters:
      updateReq - status update details
      Returns:
      Response object featuring the updated user enriched with propagation status information
    • verifySecurityAnswer

      @POST @Path("verifySecurityAnswer") @Produces({"application/json","application/yaml","application/xml"}) void verifySecurityAnswer(@NotNull @QueryParam("username") @NotNull String username, String securityAnswer)
      Provides answer for the security question configured for user matching the given username, if any. If provided answer matches the one stored for that user, check completes successfully, otherwise an error is returned.
      Parameters:
      username - username for which the security answer is provided
      securityAnswer - actual answer text