using OrpaonVision.Core.Results;
using OrpaonVision.Core.Audit.Contracts;
using OrpaonVision.Core.Audit.Contracts.Queries;
namespace OrpaonVision.Core.Audit;
///
/// 审计应用服务接口。
///
public interface IAuditAppService
{
///
/// 记录审计日志。
///
/// 审计日志详情。
/// 取消令牌。
/// 操作结果。
Task LogAsync(AuditLogDetailDto auditLog, CancellationToken cancellationToken = default);
///
/// 分页查询审计日志。
///
/// 查询条件。
/// 取消令牌。
/// 分页结果。
Task>> GetPagedListAsync(AuditLogQueryDto query, CancellationToken cancellationToken = default);
///
/// 获取审计日志详情。
///
/// 审计日志ID。
/// 取消令牌。
/// 审计日志详情。
Task> GetDetailAsync(Guid auditLogId, CancellationToken cancellationToken = default);
///
/// 获取操作统计。
///
/// 开始时间(UTC)。
/// 结束时间(UTC)。
/// 取消令牌。
/// 操作统计结果。
Task> GetStatisticsAsync(DateTime startTime, DateTime endTime, CancellationToken cancellationToken = default);
}