export type DocumentCategory = 'policy' | 'report' | 'id' | 'medical' | 'consent' | 'invoice' | 'receipt' | 'other';
export type DocumentEntityType = 'student' | 'staff' | 'class' | 'invoice' | 'organization' | 'campus' | 'other';

export interface DocumentDto {
  readonly id: string;
  readonly entity_type: DocumentEntityType | null;
  readonly entity_reference: string | null;
  readonly name: string | null;
  readonly category: DocumentCategory | null;
  readonly uploaded_at: string | null;
  readonly notes: string | null;
  readonly organizationId: string | null;
  readonly campusId: string | null;
  readonly createdById: string | null;
  readonly updatedById: string | null;
  readonly createdAt: string;
  readonly updatedAt: string;
}

export interface DocumentMutationDto {
  readonly entity_type: DocumentEntityType;
  readonly entity_reference: string;
  readonly name: string;
  readonly category: DocumentCategory;
  readonly uploaded_at: string;
  readonly notes: string;
}
