//ข้อมูล
interface ResponseHistoryObject {
  createdAt?: Date;
  createdFullName: String;
  createdUserId: String;
  id: String;
  isActive: Boolean;
  lastUpdateFullName: String;
  lastUpdateUserId: String;
  lastUpdatedAt?: Date;
  description: String;
}

interface ResponsePeriodExam {
  id: string;
  category: string;
  announcementExam: boolean;
  name: string;
  checkDocument: boolean;
  checkDisability: boolean;
  round: number;
  yearly: number;
  fee: number;
  dateAnnounce: Date | null;
  dateAnnouncement: [Date, Date] | null;
  dateExam: Date | null;
  dateRegister: [Date, Date] | null;
  datePayment: [Date, Date] | null;
  organizationName: {
    id: string;
    name: string;
  };
  organizationShortName: {
    id: string;
    name: string;
  };
  positionExam: ResponsePosition[];
  pay: string;
  bankExam: ResponsePayment[];
  editor: string;
  note: string;
}
interface ResponsePosition {
  id: string;
  position: {
    id: string;
    name: string;
  };
  type: {
    id: string;
    name: string;
  };
  highDegree: Boolean;
}
interface ResponsePayment {
  id: string;
  accountNumber: string;
  bankName: string;
  accountName: string;
}

interface ResponseRecruitPeriod {
  id: string;
  name: string;
  year: number;
  order: number;
  importDate: string;
  examCount: number;
  scoreImportDate: string;
  scoreCount: number;
  score: {
    ID: string;
    importYear: number;
    importDate: string;
    scoreCount: number;
  };
}

interface RecruitDetailResponseHeader {
  count: number;
  pass: number;
  notpass: number;
}

interface RecruitDetailResponse {
  examID: string;
  profileID: string;
  prefix: string;
  fullName: string;
  dateOfBirth: string;
  gender: string;
  major: string;
  degree: string;
  applyDate: string;
  certificateIssueDate: string;
  certificateNo: string;
  examAttribute: string;
  examScore: string;
  examResult: string;
  personName: string;
  exam_name: string;
  exam_order: string;
  score_year: string;
}

export type {
  ResponsePeriodExam,
  ResponsePosition,
  ResponsePayment,
  ResponseRecruitPeriod,
  RecruitDetailResponseHeader,
  RecruitDetailResponse,
  ResponseHistoryObject,
};
