using Model;
using Model.Dto.System;
using SqlSugar;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Service.Interface
{
///
/// 角色权限管理 服务接口
///
public interface IRoleService
{
/// 分页查询角色列表(关键字匹配编码/名称)
Task>> GetPagedAsync(int pageIndex, int pageSize, RefAsync total, string? keyword = null);
Task> GetByIdAsync(long id);
/// 新增角色(校验编码唯一)
Task> AddAsync(RoleDto dto);
/// 修改角色(系统内置角色不允许改编码)
Task> UpdateAsync(RoleDto dto);
/// 删除角色(系统内置角色不可删;有关联用户时不可删)
Task DeleteAsync(long id);
/// 分配权限(全量覆盖该角色的权限关联)
Task AssignPermissionsAsync(long roleId, List permissionIds);
/// 角色下拉选项
Task>> GetOptionsAsync();
/// 查询全部权限列表
Task>> GetPermissionsAsync();
}
}