using MilliSim.Common.Dtos;
using MilliSim.Common.Models;
namespace MilliSim.Services;
///
/// 授权服务接口(客户级授权:对客户授权后,该客户能运行所有项目)
///
public interface IAuthorizationService
{
Task>> GetAuthorizationsAsync(AuthorizationQueryRequest request);
Task> GetAuthorizationByIdAsync(long id);
Task> CreateAuthorizationAsync(CreateAuthorizationRequest request);
Task BatchAuthorizeAsync(BatchAuthorizationRequest request);
Task> RenewAuthorizationAsync(long id, int days);
Task CancelAuthorizationAsync(long id);
///
/// 检查用户是否有任何有效授权(客户级授权,不检查项目)
///
Task> CheckAuthorizationAsync(long userId);
Task>> GetMyAuthorizationsAsync();
}