Class SchemaController

java.lang.Object
be.personify.iam.scim.rest.Controller
be.personify.iam.scim.rest.SchemaController

@RestController public class SchemaController extends Controller
Schema controller for the SCIM server implementation
Author:
wouter
  • Constructor Details

    • SchemaController

      public SchemaController()
  • Method Details

    • post

      @PostMapping(path="/scim/v2/{endpoint}", produces={"application/scim+json","application/json"}) public org.springframework.http.ResponseEntity<Map<String,Object>> post(@PathVariable String endpoint, @RequestBody Map<String,Object> entity, @RequestParam(required=false,name="attributes") String attributes, @RequestParam(required=false,name="excludedAttributes") String excludedAttributes, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      POST of a entity
      Parameters:
      endpoint - the endpoint for which to POST
      entity - the entity to post
      attributes - the attributes to be included from the response
      excludedAttributes - the attributes to be excluded from the response
      request - the HttpServletRequest
      response - the HttpServletResponse
      Returns:
      the map as a ResponseEntity
    • put

      @PutMapping(path="/scim/v2/{endpoint}/{id}", produces={"application/scim+json","application/json"}) public org.springframework.http.ResponseEntity<Map<String,Object>> put(@PathVariable String endpoint, @PathVariable String id, @RequestBody Map<String,Object> entity, @RequestParam(required=false,name="attributes") String attributes, @RequestParam(required=false,name="excludedAttributes") String excludedAttributes, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      PUT of a entity
      Parameters:
      endpoint - the endpoint of the entity to PUT
      id - the id of the entity of the given resourcetype
      entity - the entity itself as a map
      attributes - the attributes to be included from the response
      excludedAttributes - the attributes to be excluded from the response
      request - the HttpServletRequest
      response - the HttpServletResponse
      Returns:
      the map as a ResponseEntity
    • patch

      @PatchMapping(path="/scim/v2/{endpoint}/{id}", produces={"application/scim+json","application/json"}) public org.springframework.http.ResponseEntity<Map<String,Object>> patch(@PathVariable String endpoint, @PathVariable String id, @RequestBody Map<String,Object> entity, @RequestParam(required=false,name="attributes") String attributes, @RequestParam(required=false,name="excludedAttributes") String excludedAttributes, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      PATCH a entity
      Parameters:
      endpoint - the endpoint of the entity to PATCH
      id - the id of the entity
      entity - the entity
      attributes - the attributes to be included from the response
      excludedAttributes - the attributes to be excluded from the response
      request - the HttpServletRequest
      response - the HttpServletResponse
      Returns:
      the map as a ResponseEntity
    • get

      @GetMapping(path="/scim/v2/{endpoint}/{id}", produces={"application/scim+json","application/json"}) public org.springframework.http.ResponseEntity<Map<String,Object>> get(@PathVariable String endpoint, @PathVariable String id, @RequestParam(required=false,name="attributes") String attributes, @RequestParam(required=false,name="excludedAttributes") String excludedAttributes, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      GETs the entity
      Parameters:
      endpoint - the endpoint of the entity
      id - the id of the entity
      attributes - the attributes to be included from the response
      excludedAttributes - the attributes to be excluded from the response
      request - the HttpServletRequest
      response - the HttpServletResponse
      Returns:
      the map containing the entity
    • search

      @GetMapping(path="/scim/v2/{endpoint}", produces={"application/scim+json","application/json"}) public org.springframework.http.ResponseEntity<Map<String,Object>> search(@PathVariable String endpoint, @RequestParam(required=false,name="startIndex",defaultValue="1") Integer startIndex, @RequestParam(required=false,name="count",defaultValue="${scim.searchresult.defaultCount}") Integer count, @RequestParam(required=false,name="filter") String filter, @RequestParam(required=false,name="sortBy") String sortBy, @RequestParam(required=false,name="sortOrder") String sortOrder, @RequestParam(required=false,name="attributes") String attributes, @RequestParam(required=false,name="excludedAttributes") String excludedAttributes, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      Searches the entity
      Parameters:
      endpoint - the endpoint
      startIndex - the index to start from
      count - the number of records to return
      filter - the filter to apply
      sortBy - the sortby attribute
      sortOrder - the sortorder
      attributes - the attributes to be included from the response
      excludedAttributes - the attributes to be excluded from the response
      request - the HttpServletRequest
      response - the HttpServletResponse
      Returns:
      the response entity
    • delete

      @DeleteMapping(path="/scim/v2/{endpoint}/{id}") public org.springframework.http.ResponseEntity<?> delete(@PathVariable String endpoint, @PathVariable String id)
      DELETEs the entity
      Parameters:
      endpoint - the endpoint of the entity to be deleted
      id - the id of the entity to be deleted
      Returns:
      the entity deleted