java.lang.Object
org.odpi.openmetadata.accessservices.communityprofile.server.spring.UserIdentityResource

@RestController @RequestMapping("/servers/{serverName}/open-metadata/access-services/community-profile/users/{userId}") public class UserIdentityResource extends Object
UserIdentityResource provides the APIs for maintaining user identities and their relationships with profiles.
  • Constructor Details

    • UserIdentityResource

      public UserIdentityResource()
  • Method Details

    • createUserIdentity

      @PostMapping(path="/user-identities") public GUIDResponse createUserIdentity(@PathVariable String serverName, @PathVariable String userId, @RequestBody ReferenceableRequestBody requestBody)
      Create a UserIdentity. This is not connected to a profile.
      Parameters:
      serverName - name of target server
      userId - the name of the calling user.
      requestBody - userId for the new userIdentity.
      Returns:
      guid or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • updateUserIdentity

      @PostMapping(path="/user-identities/{userIdentityGUID}") public VoidResponse updateUserIdentity(@PathVariable String serverName, @PathVariable String userId, @PathVariable String userIdentityGUID, @RequestParam boolean isMergeUpdate, @RequestBody ReferenceableRequestBody requestBody)
      Update a UserIdentity.
      Parameters:
      serverName - name of target server
      userId - the name of the calling user
      userIdentityGUID - unique identifier of the UserIdentity
      isMergeUpdate - should the supplied properties be overlaid on the existing properties (true) or replace them (false)
      requestBody - updated properties for the new userIdentity
      Returns:
      void or InvalidParameterException one of the parameters is invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • deleteUserIdentity

      @PostMapping(path="/user-identities/{userIdentityGUID}/delete") public VoidResponse deleteUserIdentity(@PathVariable String serverName, @PathVariable String userId, @PathVariable String userIdentityGUID, @RequestBody(required=false) ExternalSourceRequestBody requestBody)
      Remove a user identity object. This will fail if a profile would be left without an associated user identity.
      Parameters:
      serverName - name of target server
      userId - the name of the calling user.
      userIdentityGUID - unique identifier of the UserIdentity
      requestBody - external source identifiers
      Returns:
      void or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • addIdentityToProfile

      @PostMapping(path="/user-identities/{userIdentityGUID}/profiles/{profileGUID}/link") public VoidResponse addIdentityToProfile(@PathVariable String serverName, @PathVariable String userId, @PathVariable String userIdentityGUID, @PathVariable String profileGUID, @RequestBody(required=false) RelationshipRequestBody requestBody)
      Link a user identity to a profile. This will fail if the user identity is already connected to a profile.
      Parameters:
      serverName - name of target server
      userId - the name of the calling user.
      userIdentityGUID - unique identifier of the UserIdentity
      profileGUID - the profile to add the identity to.
      requestBody - external source identifiers
      Returns:
      void or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • updateIdentityProfile

      @PostMapping(path="/user-identities/{userIdentityGUID}/profiles/{profileGUID}/link/update") public VoidResponse updateIdentityProfile(@PathVariable String serverName, @PathVariable String userId, @PathVariable String userIdentityGUID, @PathVariable String profileGUID, @RequestParam boolean isMergeUpdate, @RequestBody(required=false) RelationshipRequestBody requestBody)
      Link a user identity to a profile. This will fail if the user identity is already connected to a profile.
      Parameters:
      serverName - name of target server
      userId - the name of the calling user.
      userIdentityGUID - unique identifier of the UserIdentity
      profileGUID - the profile to add the identity to.
      isMergeUpdate - should the supplied properties be overlaid on the existing properties (true) or replace them (false)
      requestBody - external source identifiers
      Returns:
      void or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • removeIdentityFromProfile

      @PostMapping(path="/user-identities/{userIdentityGUID}/profiles/{profileGUID}/unlink") public VoidResponse removeIdentityFromProfile(@PathVariable String serverName, @PathVariable String userId, @PathVariable String userIdentityGUID, @PathVariable String profileGUID, @RequestBody(required=false) ExternalSourceRequestBody requestBody)
      Remove a user identity object. This will fail if the profile would be left without an associated user identity.
      Parameters:
      serverName - name of target server
      userId - the name of the calling user.
      userIdentityGUID - unique identifier of the UserIdentity
      profileGUID - the profile to add the identity to.
      requestBody - external source identifiers
      Returns:
      void or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findUserIdentities

      @PostMapping(path="/user-identities/by-search-string") public UserIdentitiesResponse findUserIdentities(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody SearchStringRequestBody requestBody)
      Retrieve the list of user identity metadata elements that contain the search string. The search string is treated as a regular expression.
      Parameters:
      serverName - name of target server
      userId - calling user
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • getUserIdentitiesByName

      @PostMapping(path="/user-identities/by-name") public UserIdentitiesResponse getUserIdentitiesByName(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody NameRequestBody requestBody)
      Retrieve the list of user identity metadata elements with a matching qualified name. There are no wildcards supported on this request.
      Parameters:
      serverName - name of target server
      userId - calling user
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - name to search for
      Returns:
      list of matching metadata elements InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • getUserIdentityByGUID

      @GetMapping(path="/user-identities/{userIdentityGUID}") public UserIdentityResponse getUserIdentityByGUID(@PathVariable String serverName, @PathVariable String userId, @PathVariable String userIdentityGUID)
      Retrieve the userIdentity metadata element with the supplied unique identifier.
      Parameters:
      serverName - name of target server
      userId - calling user
      userIdentityGUID - unique identifier of the requested metadata element
      Returns:
      matching metadata element or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)