import { AuditLog } from '../entities/audit-log.entity';

export const AUDIT_LOG_REPOSITORY = Symbol('IAuditLogRepository');

export interface IAuditLogRepository {
  create(data: Partial<AuditLog>): AuditLog;
  save(log: AuditLog): Promise<AuditLog>;

  /** Paginated list with optional filters */
  findPaginated(
    page: number,
    limit: number,
    filters?: {
      action?: string;
      adminId?: string;
      resource?: string;
      startDate?: string;
      endDate?: string;
    },
  ): Promise<[AuditLog[], number]>;
}
