using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Entitys.System;
namespace JNPF.Systems.Interfaces.Permission;
///
/// 业务契约:操作权限.
///
public interface IAuthorizeService
{
///
/// 当前用户模块权限.
///
/// 用户ID.
/// 是否超管.
/// 用户角色Ids.
/// 当前系统Ids .
///
Task> GetCurrentUserModuleAuthorize(string userId, bool isAdmin, string[] roleIds, string[] systemIds);
///
/// 当前用户模块按钮权限.
///
/// 用户ID.
/// 是否超管.
/// 用户角色Ids.
///
Task> GetCurrentUserButtonAuthorize(string userId, bool isAdmin, string[] roleIds);
///
/// 当前用户模块列权限.
///
/// 用户ID.
/// 是否超管.
/// 用户角色Ids.
///
Task> GetCurrentUserColumnAuthorize(string userId, bool isAdmin, string[] roleIds);
///
/// 当前用户模块权限资源.
///
/// 用户ID.
/// 是否超管.
/// 用户角色Ids.
///
Task> GetCurrentUserResourceAuthorize(string userId, bool isAdmin, string[] roleIds);
///
/// 当前用户模块表单权限.
///
/// 用户ID.
/// 是否超管.
/// 用户角色Ids.
///
Task> GetCurrentUserFormAuthorize(string userId, bool isAdmin, string[] roleIds);
///
/// 获取权限项ids.
///
/// 角色id.
/// 项类型.
///
Task> GetAuthorizeItemIds(string roleId, string itemType);
///
/// 是否存在权限资源.
///
///
///
Task GetIsExistModuleDataAuthorizeScheme(string[] ids);
///
/// 获取权限列表.
///
/// 对象主键.
///
Task> GetAuthorizeListByObjectId(string objectId);
}