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. Stubbed implementation, so, instead of usersFeignClient.getUsersByProject(projectId), empty Project is returned.
      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)
      Sends service entities to the atp-users. Stubbed implementation, so, instead of sending of Entities via kafkaTemplate.send() or usersFeignClient.save(), nothing is sent. It's because no Kafka service and/or no Users-Service-Backend might be running.
      Parameters:
      serviceEntities - service entities to send.
    • 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. Stubbed implementation, so, instead of usersFeignClient.getObjectPermissionsByObjectId(projectId, serviceName, getObjectName(entityName, objectId)), empty Map is returned.
      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. Stubbed implementation, so, instead of usersFeignClient.getObjectPermissionsByServiceName(projectId, serviceName), empty Map is returned.
      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. Stubbed implementation, so, instead of usersFeignClient.getUsersInfoByProjectId(projectId, userIds), List of stubbed UserInfo objects is returned.
      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)
      Save users with permissions to object permissions. Stubbed implementation, so, in fact, saving via usersFeignClient isn't performed. This call isn't made: runWithoutUserToken(() -> usersFeignClient.saveObjectPermissions(projectId, serviceName, getObjectName(entityName, objectId), assignedUsers)). Instead, ObjectPermissions object is simply filled and returned.
      Parameters:
      projectId - UUID of a project
      objectId - UUID of an object
      assignedUsers - Map of user permissions
      Returns:
      saved object permissions.
    • 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. Stubbed implementation, so, in fact, deleting via usersFeignClient isn't performed. This call isn't made: runWithoutUserToken(() -> usersFeignClient .deleteObjectPermissions(projectId, serviceName, getObjectName(entityName, objectId))). Instead, method does nothing.
      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. Stubbed implementation, so, in fact, deleting via usersFeignClient isn't performed. This call isn't made: runWithoutUserToken(() -> usersFeignClient .deleteObjectPermissionsBulk(projectId, serviceName, getObjectNames(entityName, objectIds))). Instead, method does nothing.
      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.