using TakeoutSaaS.Application.Identity.Contracts;
using TakeoutSaaS.Shared.Abstractions.Results;
namespace TakeoutSaaS.Application.Identity.Abstractions;
///
/// 管理后台认证服务。
///
public interface IAdminAuthService
{
///
/// 登录获取 Token。
///
Task LoginAsync(AdminLoginRequest request, CancellationToken cancellationToken = default);
///
/// 简化登录:支持使用“账号@手机号”自动解析租户后登录。
///
Task LoginSimpleAsync(AdminLoginRequest request, CancellationToken cancellationToken = default);
///
/// 刷新 Token。
///
Task RefreshTokenAsync(RefreshTokenRequest request, CancellationToken cancellationToken = default);
///
/// 获取用户档案。
///
Task GetProfileAsync(long userId, CancellationToken cancellationToken = default);
///
/// 获取用户权限概览。
///
Task GetUserPermissionsAsync(long userId, CancellationToken cancellationToken = default);
///
/// 搜索用户权限概览列表。
///
Task> SearchUserPermissionsAsync(string? keyword, int page, int pageSize, string? sortBy, bool sortDescending, CancellationToken cancellationToken = default);
///
/// 获取当前用户可见菜单树。
///
Task> GetMenuTreeAsync(long userId, CancellationToken cancellationToken = default);
}