namespace RealCV.Application.Interfaces;

public interface IAuditService
{
    Task LogAsync(Guid userId, string action, string? entityType = null, Guid? entityId = null, string? details = null, string? ipAddress = null);
}

public static class AuditActions
{
    public const string CVUploaded = "CV_UPLOADED";
    public const string CVProcessed = "CV_PROCESSED";
    public const string CVDeleted = "CV_DELETED";
    public const string ReportViewed = "REPORT_VIEWED";
    public const string ReportExported = "REPORT_EXPORTED";
    public const string UserLogin = "USER_LOGIN";
    public const string UserLogout = "USER_LOGOUT";
    public const string UserRegistered = "USER_REGISTERED";
}
