/**
 * Audit Logger domain port.
 *
 * Application services depend on this interface for recording audit trails.
 * The concrete implementation lives in infrastructure/services/.
 */

export const AUDIT_LOGGER_SERVICE = Symbol('IAuditLoggerService');

export interface AuditLogParams {
  adminId: string;
  adminName: string;
  action: string;
  resource: string;
  resourceId: string | null;
  ipAddress?: string;
  result?: string;
  details?: Record<string, any> | null;
}

export interface IAuditLoggerService {
  log(params: AuditLogParams): Promise<void>;
}
