java.lang.Object
org.qubership.atp.auth.springbootstarter.services.UsersService

@CacheConfig(cacheNames={"auth_projects","auth_objects"}) public class UsersService extends Object
  • Constructor Details

    • UsersService

      public UsersService()
  • Method Details

    • getUsersByProject

      @Cacheable("auth_projects") public Project getUsersByProject(UUID projectId)
      Return Project with user lists.
      Parameters:
      projectId - UUID of a project
      Returns:
      Project
    • getPermissionsByProjectId

      public Permissions getPermissionsByProjectId(UUID projectId)
      Get User Permissions for project identified by id.
      Parameters:
      projectId - UUID of a project
      Returns:
      User Permissions for the project.
    • sendEntities

      public void sendEntities(ServiceEntities serviceEntities) throws com.fasterxml.jackson.core.JsonProcessingException
      Sends service entities to the atp-users.
      Parameters:
      serviceEntities - service entities to send.
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException
    • getPermissionsByObjectId

      @Cacheable("auth_objects") public Map<String,Map<UUID,Operations>> getPermissionsByObjectId(String entityName, UUID projectId, UUID objectId)
      Get object permissions for the entity inside the project.
      Parameters:
      entityName - String name of an entity
      projectId - UUID of a project
      objectId - UUID of an object
      Returns:
      Map of permissions.
    • getObjectPermissionsForService

      public Map<String,Map<UUID,Operations>> getObjectPermissionsForService(UUID projectId)
      Get object permissions for the service inside the project.
      Parameters:
      projectId - UUID of a project
      Returns:
      Map of permissions.
    • getUsersInfoByProjectId

      public List<UserInfo> getUsersInfoByProjectId(UUID projectId, List<UUID> userIds)
      Get UserInfo by Project ID and list of User IDs.
      Parameters:
      projectId - UUID of a project
      userIds - List of user UUIDs
      Returns:
      List of UserInfo objects.
    • saveObjectPermissions

      public ObjectPermissions saveObjectPermissions(String entityName, UUID projectId, UUID objectId, Map<UUID,Operations> assignedUsers) throws Exception
      Save users with permissions to object permissions.
      Parameters:
      projectId - UUID of a project
      objectId - UUID of an object
      assignedUsers - Map of user permissions
      Returns:
      saved object permissions.
      Throws:
      Exception
    • grantAllPermissions

      public ObjectPermissions grantAllPermissions(String entityName, UUID projectId, UUID objectId, List<UUID> assignedUsers) throws Exception
      Grants all rights to provided users for the object.
      Parameters:
      projectId - UUID of a project
      objectId - UUID of an object
      assignedUsers - List of user UUIDs
      Returns:
      saved object permissions.
      Throws:
      Exception
    • deleteObjectPermissions

      public void deleteObjectPermissions(String entityName, UUID projectId, UUID objectId)
      Delete permissions for object by ID.
      Parameters:
      entityName - String entity name
      projectId - UUID of a project
      objectId - UUID of an object.
    • deleteObjectPermissionsBulk

      public void deleteObjectPermissionsBulk(String entityName, UUID projectId, List<UUID> objectIds)
      Delete all objects by object IDs.
      Parameters:
      entityName - String entity name
      projectId - UUID of a project
      objectIds - List of object UUIDs.
    • getObjectName

      public String getObjectName(String entityName, UUID objectId)
      Return name of entity in "serviceName-entityName-Id" format.
      Parameters:
      entityName - String entity name
      objectId - UUID of an object
      Returns:
      String name calculated.