Interface PermissionsFacade

All Known Implementing Classes:
DefaultPermissionsFacade

public interface PermissionsFacade
Facade for calculating permissions.
  • Field Details

  • Method Details

    • calculateTypesPermissions

      List<PermissionsData> calculateTypesPermissions(String principalUid, List<String> types, List<String> permissionNames)
      Calculate permissions for a principal and multiple types.
      Parameters:
      principalUid - principal uid to retrieve the permissions for.
      types - type ids
      permissionNames - permission names
      Returns:
      calculated types permissions (based on principal, its groups, the types and super types)
    • calculateGlobalPermissions

      PermissionsData calculateGlobalPermissions(String principalUid, List<String> permissionNames)
      Calculate global permissions for a principal. This will look in the user group hierarchy as well.
      Parameters:
      principalUid - principal uid to retrieve the permissions for.
      permissionNames - permissions names to look for
      Returns:
      calculated global permissions (based on principal and its groups)
    • calculateAttributesPermissions

      List<PermissionsData> calculateAttributesPermissions(String principalUid, List<String> attributes, List<String> permissionNames)
      Calculate permissions for attributes
      Parameters:
      principalUid - principal uid to retrieve the permissions for.
      attributes - fully qualified attribute of the for .
      permissionNames - permissions names to look for
      Returns:
      calculated permissions for attributes
    • calculateCatalogPermissions

      List<CatalogPermissionsData> calculateCatalogPermissions(String principalUid, List<String> catalogIds, List<String> catalogVersions)
      Calculate permissions for catalog version
      Parameters:
      principalUid - principal uid to retrieve the permissions for.
      catalogIds - filter of catalog ids to consider
      catalogVersions - filter of catalog version to consider
      Returns:
      list of permissions for catalog versions that match any of the ids in catalogIds and any of the versions in catalogVersions
    • applyPermissions

      default TypePermissionsDataList applyPermissions(TypePermissionsDataList permissionsList)
      Applies the permissions for each type in the list to the principal
      Parameters:
      permissionsList - The list of permissions for each type to update
      Returns:
      The current state of the permissions for each type specified in the permission list