using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using TakeoutSaaS.Domain.Identity.Entities; namespace TakeoutSaaS.Domain.Identity.Repositories; /// /// 角色-权限关系仓储。 /// public interface IRolePermissionRepository { /// /// 根据角色 ID 集合获取角色权限关系。 /// /// 租户 ID。 /// 角色 ID 集合。 /// 取消标记。 /// 角色权限关系列表。 Task> GetByRoleIdsAsync(long tenantId, IEnumerable roleIds, CancellationToken cancellationToken = default); /// /// 批量新增角色权限关系。 /// /// 角色权限集合。 /// 取消标记。 /// 异步操作任务。 Task AddRangeAsync(IEnumerable rolePermissions, CancellationToken cancellationToken = default); /// /// 替换角色的权限集合。 /// /// 租户 ID。 /// 角色 ID。 /// 权限 ID 集合。 /// 取消标记。 /// 异步操作任务。 Task ReplaceRolePermissionsAsync(long tenantId, long roleId, IEnumerable permissionIds, CancellationToken cancellationToken = default); /// /// 提交持久化变更。 /// /// 取消标记。 /// 异步操作任务。 Task SaveChangesAsync(CancellationToken cancellationToken = default); }