Class UserWebService

  • All Implemented Interfaces:
    IUserWebService

    @Named
    @Path("/v2/Users")
    public class UserWebService
    extends BaseScimWebService
    implements IUserWebService
    Implementation of /Users endpoint. Methods here are intercepted. Filter io.jans.scim.service.filter.AuthorizationProcessingFilter secures invocations
    • Constructor Detail

      • UserWebService

        public UserWebService()
    • Method Detail

      • createUser

        @POST
        @Consumes({"application/scim+json","application/json"})
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response createUser​(UserResource user,
                                                      @QueryParam("attributes")
                                                      String attrsList,
                                                      @QueryParam("excludedAttributes")
                                                      String excludedAttrsList)
        Specified by:
        createUser in interface IUserWebService
      • getUserById

        @Path("{id}")
        @GET
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response getUserById​(@PathParam("id")
                                                       String id,
                                                       @QueryParam("attributes")
                                                       String attrsList,
                                                       @QueryParam("excludedAttributes")
                                                       String excludedAttrsList)
        Specified by:
        getUserById in interface IUserWebService
      • updateUser

        @Path("{id}")
        @PUT
        @Consumes({"application/scim+json","application/json"})
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response updateUser​(UserResource user,
                                                      @PathParam("id")
                                                      String id,
                                                      @QueryParam("attributes")
                                                      String attrsList,
                                                      @QueryParam("excludedAttributes")
                                                      String excludedAttrsList)
        This implementation differs from spec in the following aspects: - Passing a null value for an attribute, does not modify the attribute in the destination, however passing an empty array for a multivalued attribute does clear the attribute. Thus, to clear single-valued attribute, PATCH operation should be used
        Specified by:
        updateUser in interface IUserWebService
      • deleteUser

        @Path("{id}")
        @DELETE
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response deleteUser​(@PathParam("id")
                                                      String id)
        Specified by:
        deleteUser in interface IUserWebService
      • searchUsers

        @GET
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response searchUsers​(@QueryParam("filter")
                                                       String filter,
                                                       @QueryParam("startIndex")
                                                       Integer startIndex,
                                                       @QueryParam("count")
                                                       Integer count,
                                                       @QueryParam("sortBy")
                                                       String sortBy,
                                                       @QueryParam("sortOrder")
                                                       String sortOrder,
                                                       @QueryParam("attributes")
                                                       String attrsList,
                                                       @QueryParam("excludedAttributes")
                                                       String excludedAttrsList)
        Specified by:
        searchUsers in interface IUserWebService
      • searchUsersPost

        @Path(".search")
        @POST
        @Consumes({"application/scim+json","application/json"})
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response searchUsersPost​(SearchRequest searchRequest)
        Specified by:
        searchUsersPost in interface IUserWebService
      • patchUser

        @Path("{id}")
        @Consumes({"application/scim+json","application/json"})
        @Produces({"application/scim+json; charset=utf-8","application/json; charset=utf-8"})
        @HeaderParam("Accept")
        @DefaultValue("application/scim+json")
        public jakarta.ws.rs.core.Response patchUser​(PatchRequest request,
                                                     @PathParam("id")
                                                     String id,
                                                     @QueryParam("attributes")
                                                     String attrsList,
                                                     @QueryParam("excludedAttributes")
                                                     String excludedAttrsList)
        Specified by:
        patchUser in interface IUserWebService
      • setup

        @PostConstruct
        public void setup()