Interface IPermissionProvider

Assembly: redb.Core.dll

Provider for access permission management.

public interface IPermissionProvider

Methods

CanUserDeleteObject(IRedbObject, IRedbUser)

Check if user can delete object.

Task<bool> CanUserDeleteObject(IRedbObject obj, IRedbUser user)

CanUserDeleteObject(IRedbObject)

Check if current user can delete object.

Task<bool> CanUserDeleteObject(IRedbObject obj)

CanUserDeleteObject(long, long)

Task<bool> CanUserDeleteObject(long objectId, long userId)

CanUserDeleteObject(RedbObject, IRedbUser)

Check if user can delete object.

Task<bool> CanUserDeleteObject(RedbObject obj, IRedbUser user)

CanUserDeleteObject(RedbObject)

Check if current user can delete object.

Task<bool> CanUserDeleteObject(RedbObject obj)

CanUserEditObject(IRedbObject, IRedbUser)

Check if user can edit object.

Task<bool> CanUserEditObject(IRedbObject obj, IRedbUser user)

CanUserEditObject(IRedbObject)

Check if current user can edit object.

Task<bool> CanUserEditObject(IRedbObject obj)

CanUserEditObject(long, long)

Task<bool> CanUserEditObject(long objectId, long userId)

CanUserEditObject(RedbObject, IRedbUser)

Check if user can edit object.

Task<bool> CanUserEditObject(RedbObject obj, IRedbUser user)

CanUserEditObject(RedbObject)

Check if current user can edit object.

Task<bool> CanUserEditObject(RedbObject obj)

CanUserInsertScheme(IRedbScheme, IRedbUser)

Check if user can create objects in scheme.

Task<bool> CanUserInsertScheme(IRedbScheme scheme, IRedbUser user)

CanUserInsertScheme(IRedbScheme)

Check if current user can create objects in scheme.

Task<bool> CanUserInsertScheme(IRedbScheme scheme)

CanUserInsertScheme(long, long)

Task<bool> CanUserInsertScheme(long schemeId, long userId)

CanUserInsertScheme(RedbObject, IRedbUser)

Check if user can create objects in object's scheme.

Task<bool> CanUserInsertScheme(RedbObject obj, IRedbUser user)

CanUserSelectObject(IRedbObject, IRedbUser)

Check if user can read object.

Task<bool> CanUserSelectObject(IRedbObject obj, IRedbUser user)

CanUserSelectObject(IRedbObject)

Check if current user can read object.

Task<bool> CanUserSelectObject(IRedbObject obj)

CanUserSelectObject(long, long)

Task<bool> CanUserSelectObject(long objectId, long userId)

CanUserSelectObject(RedbObject, IRedbUser)

Check if user can read object.

Task<bool> CanUserSelectObject(RedbObject obj, IRedbUser user)

CanUserSelectObject(RedbObject)

Check if current user can read object.

Task<bool> CanUserSelectObject(RedbObject obj)

CreatePermissionAsync(PermissionRequest, IRedbUser?)

Create new permission.

Task<IRedbPermission> CreatePermissionAsync(PermissionRequest request, IRedbUser? currentUser = null)

DeletePermissionAsync(IRedbPermission, IRedbUser?)

Delete permission.

Task<bool> DeletePermissionAsync(IRedbPermission permission, IRedbUser? currentUser = null)

GetAllEffectivePermissionsAsync(IRedbUser)

Get all effective user permissions.

Task<List<EffectivePermissionResult>> GetAllEffectivePermissionsAsync(IRedbUser user)

GetEffectivePermissionsAsync(IRedbUser, IRedbObject)

Get effective user permissions for object (including inheritance and roles).

Task<EffectivePermissionResult> GetEffectivePermissionsAsync(IRedbUser user, IRedbObject obj)

GetEffectivePermissionsBatchAsync(IRedbUser, IRedbObject[])

Get effective user permissions for multiple objects (batch).

Task<Dictionary<IRedbObject, EffectivePermissionResult>> GetEffectivePermissionsBatchAsync(IRedbUser user, IRedbObject[] objects)

GetPermissionByIdAsync(long)

Get permission by ID.

Task<IRedbPermission?> GetPermissionByIdAsync(long permissionId)

GetPermissionCountAsync()

Get total permission count.

Task<int> GetPermissionCountAsync()

GetPermissionsByObjectAsync(IRedbObject)

Get permissions for object.

Task<List<IRedbPermission>> GetPermissionsByObjectAsync(IRedbObject obj)

GetPermissionsByRoleAsync(IRedbRole)

Get role permissions.

Task<List<IRedbPermission>> GetPermissionsByRoleAsync(IRedbRole role)

GetPermissionsByUserAsync(IRedbUser)

Get user permissions.

Task<List<IRedbPermission>> GetPermissionsByUserAsync(IRedbUser user)

GetReadableObjectIds()

Get IDs of objects readable by current user.

IQueryable<long> GetReadableObjectIds()

GetReadableObjectIds(IRedbUser)

Get IDs of objects readable by user.

IQueryable<long> GetReadableObjectIds(IRedbUser user)

GetRolePermissionCountAsync(IRedbRole)

Get role permission count.

Task<int> GetRolePermissionCountAsync(IRedbRole role)

GetUserPermissionCountAsync(IRedbUser)

Get user permission count.

Task<int> GetUserPermissionCountAsync(IRedbUser user)

GrantPermissionAsync(IRedbRole, IRedbObject, PermissionAction, IRedbUser?)

Grant permission to role.

Task<bool> GrantPermissionAsync(IRedbRole role, IRedbObject obj, PermissionAction actions, IRedbUser? currentUser = null)

GrantPermissionAsync(IRedbUser, IRedbObject, PermissionAction, IRedbUser?)

Grant permission to user.

Task<bool> GrantPermissionAsync(IRedbUser user, IRedbObject obj, PermissionAction actions, IRedbUser? currentUser = null)

RevokeAllRolePermissionsAsync(IRedbRole, IRedbUser?)

Revoke all role permissions.

Task<int> RevokeAllRolePermissionsAsync(IRedbRole role, IRedbUser? currentUser = null)

RevokeAllUserPermissionsAsync(IRedbUser, IRedbUser?)

Revoke all user permissions.

Task<int> RevokeAllUserPermissionsAsync(IRedbUser user, IRedbUser? currentUser = null)

RevokePermissionAsync(IRedbRole, IRedbObject, IRedbUser?)

Revoke permission from role.

Task<bool> RevokePermissionAsync(IRedbRole role, IRedbObject obj, IRedbUser? currentUser = null)

RevokePermissionAsync(IRedbUser, IRedbObject, IRedbUser?)

Revoke permission from user.

Task<bool> RevokePermissionAsync(IRedbUser user, IRedbObject obj, IRedbUser? currentUser = null)

UpdatePermissionAsync(IRedbPermission, PermissionRequest, IRedbUser?)

Update permission.

Task<IRedbPermission> UpdatePermissionAsync(IRedbPermission permission, PermissionRequest request, IRedbUser? currentUser = null)