using TakeoutSaaS.Domain.Identity.Entities; namespace TakeoutSaaS.Domain.Identity.Repositories; /// /// 角色仓储。 /// public interface IRoleRepository { /// /// 根据 ID 查询角色。 /// /// 角色 ID。 /// 租户 ID。 /// 取消标记。 /// 角色实体或 null。 Task FindByIdAsync(long roleId, long tenantId, CancellationToken cancellationToken = default); /// /// 根据编码查询角色。 /// /// 角色编码。 /// 租户 ID。 /// 取消标记。 /// 角色实体或 null。 Task FindByCodeAsync(string code, long tenantId, CancellationToken cancellationToken = default); /// /// 批量获取角色列表。 /// /// 租户 ID。 /// 角色 ID 集合。 /// 取消标记。 /// 角色集合。 Task> GetByIdsAsync(long tenantId, IEnumerable roleIds, CancellationToken cancellationToken = default); /// /// 按关键字搜索角色。 /// /// 租户 ID。 /// 关键字。 /// 取消标记。 /// 角色集合。 Task> SearchAsync(long tenantId, string? keyword, CancellationToken cancellationToken = default); /// /// 新增角色。 /// /// 角色实体。 /// 取消标记。 /// 异步操作任务。 Task AddAsync(Role role, CancellationToken cancellationToken = default); /// /// 更新角色。 /// /// 角色实体。 /// 取消标记。 /// 异步操作任务。 Task UpdateAsync(Role role, CancellationToken cancellationToken = default); /// /// 删除角色。 /// /// 角色 ID。 /// 租户 ID。 /// 取消标记。 /// 异步操作任务。 Task DeleteAsync(long roleId, long tenantId, CancellationToken cancellationToken = default); /// /// 保存仓储变更。 /// /// 取消标记。 /// 异步操作任务。 Task SaveChangesAsync(CancellationToken cancellationToken = default); }