using TakeoutSaaS.Application.Identity.Contracts;
using TakeoutSaaS.Shared.Abstractions.Results;
namespace TakeoutSaaS.Application.Identity.Abstractions;
///
/// 管理后台认证服务。
///
public interface IAdminAuthService
{
Task LoginAsync(AdminLoginRequest request, CancellationToken cancellationToken = default);
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);
}