Class OrganizationResource


  • @RestController
    @RequestMapping("/servers/{serverName}/open-metadata/access-services/community-profile/users/{userId}")
    public class OrganizationResource
    extends Object
    The OrganizationResource provides a Spring based server-side REST API that supports the OrganizationManagementInterface. It delegates each request to the OrganizationRESTServices. This provides the server-side implementation of the Community Profile Open Metadata Assess Service (OMAS) which is used to manage information about people, roles and organizations.
    • Constructor Detail

      • OrganizationResource

        public OrganizationResource()
        Default constructor
    • Method Detail

      • createActorProfile

        @PostMapping(path="/profiles")
        public GUIDResponse createActorProfile​(@PathVariable
                                               String serverName,
                                               @PathVariable
                                               String userId,
                                               @RequestBody
                                               ActorProfileRequestBody requestBody)
        Create a definition of an actor profile. This could be for the whole organization, a team, a person or a system.
        Parameters:
        serverName - called server
        userId - calling user
        requestBody - properties for a actor profile
        Returns:
        unique identifier of actor profile InvalidParameterException qualifiedName or userId is null; qualifiedName is not unique PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • updateActorProfile

        @PostMapping(path="/profiles/{actorProfileGUID}")
        public VoidResponse updateActorProfile​(@PathVariable
                                               String serverName,
                                               @PathVariable
                                               String userId,
                                               @PathVariable
                                               String actorProfileGUID,
                                               @RequestParam
                                               boolean isMergeUpdate,
                                               @RequestBody
                                               ActorProfileRequestBody requestBody)
        Update the definition of an actor profile.
        Parameters:
        serverName - called server
        userId - calling user
        actorProfileGUID - unique identifier of profile to update
        isMergeUpdate - are unspecified properties unchanged (true) or replaced with null?
        requestBody - properties to change
        Returns:
        void or InvalidParameterException guid, qualifiedName or userId is null; qualifiedName is not unique; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • deleteActorProfile

        @PostMapping(path="/profiles/{actorProfileGUID}/delete")
        public VoidResponse deleteActorProfile​(@PathVariable
                                               String serverName,
                                               @PathVariable
                                               String userId,
                                               @PathVariable
                                               String actorProfileGUID,
                                               @RequestBody
                                               ExternalSourceRequestBody requestBody)
        Remove the definition of an actor profile.
        Parameters:
        serverName - called server
        userId - calling user
        actorProfileGUID - unique identifier of actor profile
        requestBody - identifiers of the software server capability entity that represented the external source - null for local
        Returns:
        void or InvalidParameterException guid or userId is null; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • addContactMethod

        @PostMapping(path="/profiles/{actorProfileGUID}/contact-methods")
        public GUIDResponse addContactMethod​(@PathVariable
                                             String serverName,
                                             @PathVariable
                                             String userId,
                                             @PathVariable
                                             String actorProfileGUID,
                                             @RequestBody
                                             ContactMethodRequestBody requestBody)
        Add a new contact method to the profile.
        Parameters:
        serverName - called server
        userId - the name of the calling user.
        actorProfileGUID - identifier of the profile to update.
        requestBody - properties of contact method.
        Returns:
        unique identifier (guid) for the new contact method. InvalidParameterException the userId is null or invalid. Another property 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.
      • deleteContactMethod

        @PostMapping(path="/profiles/contact-methods/{contactMethodGUID}/delete")
        public VoidResponse deleteContactMethod​(@PathVariable
                                                String serverName,
                                                @PathVariable
                                                String userId,
                                                @PathVariable
                                                String contactMethodGUID,
                                                @RequestBody
                                                ExternalSourceRequestBody requestBody)
        Remove an obsolete contact method from the profile.
        Parameters:
        serverName - called server
        userId - the name of the calling user.
        contactMethodGUID - unique identifier (guid) for the obsolete contact method.
        requestBody - identifiers of the software server capability entity that represented the external source - null for local
        Returns:
        void or InvalidParameterException the userId is null or invalid. Another property 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.
      • linkTeamsInHierarchy

        @PostMapping(path="/profiles/{superTeamProfileGUID}/sub-team-profiles/{subTeamProfileGUID}/link")
        public VoidResponse linkTeamsInHierarchy​(@PathVariable
                                                 String serverName,
                                                 @PathVariable
                                                 String userId,
                                                 @PathVariable
                                                 String superTeamProfileGUID,
                                                 @PathVariable
                                                 String subTeamProfileGUID,
                                                 @RequestParam
                                                 boolean delegationEscalationAuthority,
                                                 @RequestBody
                                                 EffectiveDatesRequestBody requestBody)
        Link two related team/organization actor profiles together as part of a hierarchy. A team/organization actor profile can only have one parent but many child actor profiles.
        Parameters:
        serverName - called server
        userId - calling user
        superTeamProfileGUID - unique identifier of the parent team profile
        subTeamProfileGUID - unique identifier of the child team profile
        delegationEscalationAuthority - can workflows delegate/escalate through this link?
        requestBody - identifiers of the software server capability entity that represented the external source - null for local
        Returns:
        void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • unlinkTeamsInHierarchy

        @PostMapping(path="/profiles/{superTeamProfileGUID}/sub-team-profiles/{subTeamProfileGUID}/unlink")
        public VoidResponse unlinkTeamsInHierarchy​(@PathVariable
                                                   String serverName,
                                                   @PathVariable
                                                   String userId,
                                                   @PathVariable
                                                   String superTeamProfileGUID,
                                                   @PathVariable
                                                   String subTeamProfileGUID,
                                                   @RequestBody
                                                   ExternalSourceRequestBody requestBody)
        Remove the link between two actor profiles in the actor profile hierarchy.
        Parameters:
        serverName - called server
        userId - calling user
        superTeamProfileGUID - unique identifier of the parent actor profile
        subTeamProfileGUID - unique identifier of the child actor profile
        requestBody - identifiers of the software server capability entity that represented the external source - null for local
        Returns:
        void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • getActorProfileByGUID

        @GetMapping(path="/profiles/{actorProfileGUID}")
        public ActorProfileResponse getActorProfileByGUID​(@PathVariable
                                                          String serverName,
                                                          @PathVariable
                                                          String userId,
                                                          @PathVariable
                                                          String actorProfileGUID)
        Return information about a specific actor profile.
        Parameters:
        serverName - called server
        userId - calling user
        actorProfileGUID - unique identifier for the actor profile
        Returns:
        properties of the actor profile InvalidParameterException actorProfileGUID or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • getActorProfileByUserId

        @GetMapping(path="/profiles/user-ids/{actorProfileUserId}")
        public ActorProfileResponse getActorProfileByUserId​(@PathVariable
                                                            String serverName,
                                                            @PathVariable
                                                            String userId,
                                                            @PathVariable
                                                            String actorProfileUserId)
        Return information about a specific actor profile.
        Parameters:
        serverName - called server
        userId - calling user
        actorProfileUserId - unique identifier for the userId
        Returns:
        properties of the actor profile InvalidParameterException actorProfileUserId or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • getActorProfiles

        @GetMapping(path="/profiles")
        public ActorProfileListResponse getActorProfiles​(@PathVariable
                                                         String serverName,
                                                         @PathVariable
                                                         String userId,
                                                         @RequestParam
                                                         int startFrom,
                                                         @RequestParam
                                                         int pageSize)
        Return all actor profiles.
        Parameters:
        serverName - called server
        userId - calling user
        startFrom - index of the list to start from (0 for start)
        pageSize - maximum number of elements to return.
        Returns:
        list of the actor profiles InvalidParameterException actorProfileUserId or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • getActorProfilesByLocation

        @GetMapping(path="/profiles/locations/{locationGUID}")
        public ActorProfileListResponse getActorProfilesByLocation​(@PathVariable
                                                                   String serverName,
                                                                   @PathVariable
                                                                   String userId,
                                                                   @PathVariable
                                                                   String locationGUID,
                                                                   @RequestParam
                                                                   int startFrom,
                                                                   @RequestParam
                                                                   int pageSize)
        Return information about a specific actor profile.
        Parameters:
        serverName - called server
        userId - calling user
        locationGUID - unique identifier for the location
        startFrom - index of the list to start from (0 for start)
        pageSize - maximum number of elements to return.
        Returns:
        properties of the actor profile InvalidParameterException actorProfileUserId or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • getActorProfilesByName

        @PostMapping(path="/profiles/by-name")
        public ActorProfileListResponse getActorProfilesByName​(@PathVariable
                                                               String serverName,
                                                               @PathVariable
                                                               String userId,
                                                               @RequestParam
                                                               int startFrom,
                                                               @RequestParam
                                                               int pageSize,
                                                               @RequestBody
                                                               NameRequestBody requestBody)
        Return information about a named actor profile.
        Parameters:
        serverName - called server
        userId - calling user
        startFrom - index of the list to start from (0 for start)
        pageSize - maximum number of elements to return.
        requestBody - unique name for the actor profile
        Returns:
        list of matching actor profiles (hopefully only one) InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • findActorProfile

        @PostMapping(path="/profiles/by-search-string")
        public ActorProfileListResponse findActorProfile​(@PathVariable
                                                         String serverName,
                                                         @PathVariable
                                                         String userId,
                                                         @RequestParam
                                                         int startFrom,
                                                         @RequestParam
                                                         int pageSize,
                                                         @RequestBody
                                                         SearchStringRequestBody requestBody)
        Retrieve the list of matching profiles for the search string.
        Parameters:
        serverName - called server
        userId - the name of the calling user.
        requestBody - RegEx string to search for
        startFrom - index of the list to start from (0 for start)
        pageSize - maximum number of elements to return.
        Returns:
        list of matching actor profiles InvalidParameterException guid invalid or the external references are not correctly specified, or are null. PropertyServerException the server is not available. UserNotAuthorizedException the calling user is not authorized to issue the call.
      • createPersonRole

        @PostMapping(path="/person-roles")
        public GUIDResponse createPersonRole​(@PathVariable
                                             String serverName,
                                             @PathVariable
                                             String userId,
                                             @RequestBody
                                             PersonRoleRequestBody requestBody)
        Create a definition of a person role.
        Parameters:
        serverName - called server
        userId - calling user
        requestBody - properties for a person role
        Returns:
        unique identifier of person role InvalidParameterException qualifiedName or userId is null; qualifiedName is not unique PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • updatePersonRole

        @PostMapping(path="/person-roles/{personRoleGUID}")
        public VoidResponse updatePersonRole​(@PathVariable
                                             String serverName,
                                             @PathVariable
                                             String userId,
                                             @PathVariable
                                             String personRoleGUID,
                                             @RequestParam
                                             boolean isMergeUpdate,
                                             @RequestBody
                                             PersonRoleRequestBody requestBody)
        Update the definition of a person role.
        Parameters:
        serverName - called server
        userId - calling user
        personRoleGUID - unique identifier of person role
        isMergeUpdate - are unspecified properties unchanged (true) or replaced with null?
        requestBody - properties to change
        Returns:
        void or InvalidParameterException guid, qualifiedName or userId is null; qualifiedName is not unique; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • deletePersonRole

        @PostMapping(path="/person-roles/{personRoleGUID}/delete")
        public VoidResponse deletePersonRole​(@PathVariable
                                             String serverName,
                                             @PathVariable
                                             String userId,
                                             @PathVariable
                                             String personRoleGUID,
                                             @RequestBody
                                             ExternalSourceRequestBody requestBody)
        Remove the definition of a person role.
        Parameters:
        serverName - called server
        userId - calling user
        personRoleGUID - unique identifier of person role
        requestBody - identifiers of the software server capability entity that represented the external source - null for local
        Returns:
        void or InvalidParameterException guid or userId is null; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • linkPersonRoleToProfile

        @PostMapping(path="/person-roles/{personRoleGUID}/profiles/{personProfileGUID}/link")
        public GUIDResponse linkPersonRoleToProfile​(@PathVariable
                                                    String serverName,
                                                    @PathVariable
                                                    String userId,
                                                    @PathVariable
                                                    String personRoleGUID,
                                                    @PathVariable
                                                    String personProfileGUID,
                                                    @RequestBody
                                                    AppointmentRequestBody requestBody)
        Link a person role to a person profile to show that that person is performing the role.
        Parameters:
        serverName - called server
        userId - calling user
        personRoleGUID - unique identifier of the person role
        personProfileGUID - unique identifier of the person profile
        requestBody - identifiers of the software server capability entity that represented the external source - null for local
        Returns:
        appointment unique identifier or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • getAppointees

        @PostMapping(path="/person-roles/{personRoleGUID}/appointees")
        public PersonRoleAppointeeListResponse getAppointees​(@PathVariable
                                                             String serverName,
                                                             @PathVariable
                                                             String userId,
                                                             @PathVariable
                                                             String personRoleGUID,
                                                             @RequestParam
                                                             int startFrom,
                                                             @RequestParam
                                                             int pageSize,
                                                             @RequestBody
                                                             EffectiveTimeRequestBody requestBody)
        Return the list of people appointed to a particular role.
        Parameters:
        serverName - called server
        userId - calling user
        personRoleGUID - unique identifier of the person role
        startFrom - index of the list to start from (0 for start)
        pageSize - maximum number of elements to return
        requestBody - time for appointments, null for full appointment history
        Returns:
        list of appointees or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • updateAppointment

        @PostMapping(path="/person-roles/appointees/{appointmentGUID}")
        public VoidResponse updateAppointment​(@PathVariable
                                              String serverName,
                                              @PathVariable
                                              String userId,
                                              @PathVariable
                                              String appointmentGUID,
                                              @RequestParam
                                              boolean isMergeUpdate,
                                              @RequestBody
                                              AppointmentRequestBody requestBody)
        Update the properties for the appointment of a person to a role.
        Parameters:
        serverName - called server
        userId - calling user
        appointmentGUID - unique identifier of the appointment relationship
        isMergeUpdate - are unspecified properties unchanged (true) or replaced with null?
        requestBody - properties to change
        Returns:
        void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • unlinkPersonRoleFromProfile

        @PostMapping(path="/person-roles/appointees/{appointmentGUID}/unlink")
        public VoidResponse unlinkPersonRoleFromProfile​(@PathVariable
                                                        String serverName,
                                                        @PathVariable
                                                        String userId,
                                                        @PathVariable
                                                        String appointmentGUID,
                                                        @RequestBody
                                                        ExternalSourceRequestBody requestBody)
        Remove the link between a person role and a person profile.
        Parameters:
        serverName - called server
        userId - calling user
        appointmentGUID - unique identifier of the appointment relationship
        requestBody - identifiers of the software server capability entity that represented the external source - null for local
        Returns:
        void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • linkTeamPlayer

        @PostMapping(path="/team-profiles/{teamProfileGUID}/team-roles/{teamRoleGUID}/link")
        public VoidResponse linkTeamPlayer​(@PathVariable
                                           String serverName,
                                           @PathVariable
                                           String userId,
                                           @PathVariable
                                           String teamRoleGUID,
                                           @PathVariable
                                           String teamProfileGUID,
                                           @RequestBody
                                           TeamPlayerRequestBody requestBody)
        Link a team leader person role or team member person role to a team profile.
        Parameters:
        serverName - called server
        userId - calling user
        teamRoleGUID - unique identifier of the person role
        teamProfileGUID - unique identifier of the team profile
        requestBody - identifiers of the software server capability entity that represented the external source - null for local
        Returns:
        void or InvalidParameterException one of the guids is null or not known; the person role is not a team member or team leader PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • unlinkTeamPlayer

        @PostMapping(path="/team-profiles/{teamProfileGUID}/team-roles/{teamRoleGUID}/unlink")
        public VoidResponse unlinkTeamPlayer​(@PathVariable
                                             String serverName,
                                             @PathVariable
                                             String userId,
                                             @PathVariable
                                             String teamRoleGUID,
                                             @PathVariable
                                             String teamProfileGUID,
                                             @RequestBody
                                             TeamPlayerRequestBody requestBody)
        Remove the link between a person role and a team profile.
        Parameters:
        serverName - called server
        userId - calling user
        teamRoleGUID - unique identifier of the person role
        teamProfileGUID - unique identifier of the team profile
        requestBody - identifiers of the software server capability entity that represented the external source - null for local
        Returns:
        void or InvalidParameterException one of the guids is null or not known; the person role is not a team member or team leader PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • getPersonRoleByGUID

        @GetMapping(path="/person-roles/{personRoleGUID}")
        public PersonRoleResponse getPersonRoleByGUID​(@PathVariable
                                                      String serverName,
                                                      @PathVariable
                                                      String userId,
                                                      @PathVariable
                                                      String personRoleGUID)
        Return information about a specific person role.
        Parameters:
        serverName - called server
        userId - calling user
        personRoleGUID - unique identifier for the person role
        Returns:
        properties of the person role InvalidParameterException personRoleGUID or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • getPersonRoleByName

        @PostMapping(path="/person-roles/by-name")
        public PersonRoleListResponse getPersonRoleByName​(@PathVariable
                                                          String serverName,
                                                          @PathVariable
                                                          String userId,
                                                          @RequestParam
                                                          int startFrom,
                                                          @RequestParam
                                                          int pageSize,
                                                          @RequestBody
                                                          NameRequestBody requestBody)
        Return information about a named person role.
        Parameters:
        serverName - called server
        userId - calling user
        startFrom - index of the list to start from (0 for start)
        pageSize - maximum number of elements to return.
        requestBody - unique name for the actor profile
        Returns:
        list of matching person roles InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • getLeadershipRolesForTeam

        @GetMapping(path="/person-roles/by-team/{teamGUID}/leadership")
        public PersonRoleListResponse getLeadershipRolesForTeam​(@PathVariable
                                                                String serverName,
                                                                @PathVariable
                                                                String userId,
                                                                @PathVariable
                                                                String teamGUID,
                                                                @RequestParam
                                                                int startFrom,
                                                                @RequestParam
                                                                int pageSize)
        Return information about a person role connected to the named team via the TeamLeadership relationship.
        Parameters:
        serverName - called server
        userId - calling user
        teamGUID - unique identifier for the Team actor profile
        startFrom - index of the list to start from (0 for start)
        pageSize - maximum number of elements to return.
        Returns:
        list of matching person roles InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • getMembershipRolesForTeam

        @GetMapping(path="/person-roles/by-team/{teamGUID}/membership")
        public PersonRoleListResponse getMembershipRolesForTeam​(@PathVariable
                                                                String serverName,
                                                                @PathVariable
                                                                String userId,
                                                                @PathVariable
                                                                String teamGUID,
                                                                @RequestParam
                                                                int startFrom,
                                                                @RequestParam
                                                                int pageSize)
        Return information about a person role connected to the named team via the TeamMembership relationship.
        Parameters:
        serverName - called server
        userId - calling user
        teamGUID - unique identifier for the Team actor profile
        startFrom - index of the list to start from (0 for start)
        pageSize - maximum number of elements to return.
        Returns:
        list of matching person roles InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • findPersonRole

        @PostMapping(path="/person-roles/by-search-string")
        public PersonRoleListResponse findPersonRole​(@PathVariable
                                                     String serverName,
                                                     @PathVariable
                                                     String userId,
                                                     @RequestParam
                                                     int startFrom,
                                                     @RequestParam
                                                     int pageSize,
                                                     @RequestBody
                                                     SearchStringRequestBody requestBody)
        Retrieve the list of matching roles for the search string.
        Parameters:
        serverName - called server
        userId - the name of the calling user.
        startFrom - index of the list to start from (0 for start)
        pageSize - maximum number of elements to return.
        requestBody - RegEx string to search for
        Returns:
        list of matching person roles InvalidParameterException guid invalid or the external references are not correctly specified, or are null. PropertyServerException the server is not available. UserNotAuthorizedException the calling user is not authorized to issue the call.