Class 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 Detail

      • UserIdentityResource

        public UserIdentityResource()
    • Method Detail

      • 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 UserIdentityListResponse 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 UserIdentityListResponse 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)