Use CheckPermission.
Check if user has specific permission for an artifact (HYBRID CHECK) Checks in order: Owner > Explicit Permission > Collection Inheritance
Get available permissions for a user to grant based on their own permissions
Use GetEffectiveUsers.
Get all effective permissions for an artifact (owner + explicit + inherited)
Get explicit permission record for a user on an artifact
Returns an ExtraFilter for MJ: Artifacts that matches the artifacts the user can read,
by the same rule as CheckPermission: the user owns it, else an explicit grant
decides, else a read grant on a collection that holds a version of it.
Each lookup runs against its own entity, so the filter holds only UserID and IDs.
Use GetUserPermissions.
Get all permissions for current user on an artifact (convenience method for UI)
Use GrantPermission.
Grant explicit permission to a user
Check if user is owner of artifact
Use LoadPermissions.
Load all explicit permissions for an artifact
Use RevokePermission.
Revoke explicit permission
Use UpdatePermission.
Update existing permission
Use ValidatePermissions.
Validate that requested permissions don't exceed granter's permissions
The metadata provider this service uses. When unset, falls back to Metadata.Provider. Setting it also propagates to the collection-permission service this depends on.