import { RecordDto } from "../userRecords/userRecordsDto";

export interface RecordOfficerRecordsListResponse {
  count: number;
  items: RecordOfficerRecordsDto[] ;
}

export interface RecordOfficerOutgoingRecordsListResponse {
  count: number;
  items: RecordDto[];
}


export interface RecordOfficerRecordsDto {
  id: string;
  isLocked?: boolean;
  createdAt: string;
  updatedAt: string;
  referenceNumber: string | null;
  submittedDate: string;
  statusKey: string;
  initiationType: "self" | "other";
  recordTypeKey: "internal" | "external";
  receivingUnits: ReceivingUnit[];
  initiator: Initiator;
  content: RecordContent[];
}

export interface ReceivingUnit {
  id: string;
  unit: {
    id: string;
    name: {
      am: string;
      en: string;
    };
  };
}

export interface Initiator {
  id: string;
  employee: {
    id: string;
    name: {
      am: string;
      en: string;
    };
  };
  position: {
    id: string;
    name: {
      am: string;
      en: string;
    };
  };
}

export interface RecordContent {
  id: string;
  subject: string;
  nonSmartOfficeReceivers: any | null;
  receiverPositions: ReceiverPosition[];
  receiverEmployees: ReceiverEmployee[];
}

export interface ReceiverPosition {
  id: string;
  position: {
    id: string;
    name: {
      am: string;
      en: string;
    };
  };
}

export interface ReceiverEmployee {
  id: string;
  employeePosition: {
    id: string;
    employee: {
      id: string;
      name: {
        am: string;
        en: string;
      };
    };
  };
}
