interface iCopyrightFile {
  id: number;
  user_id: number;
  name: string;
  bucket: string;
  url: string;
  etag: string;
  size: number;
  mime_type: string;
  hash_code: string;
  image_info_abbreviation: string;
  image_info_format: string;
  business_type: number;
}

type iPostFile = Partial<Omit<iCopyrightFile, "url">> &
  Pick<iCopyrightFile, "url">;

export interface iAuth {
  id: number;
  authentication_id: number;
  authentication_name: string;
  authentication_subject_nature: number;
  authentication_subject_nature_code: string;
  authentication_province: string;
  authentication_city: string;
  authentication_district: string;
  authentication_business_license: iPostFile;
  authentication_certificate_of_authorization_image: iPostFile;
  authentication_held_front_id_card: iPostFile;
  authentication_held_back_id_card: iPostFile;
  authentication_certificate_of_authorization_date: string;
  contact_person: string;
  contact_email: string;
  contact_mobile: string;
  contact_telephone: string;
  contact_post_code: string;
  contact_fax: string;
  contact_address: string;
  authentication_status: string;
  create_time: number;
  update_time: number;
}

export interface iCopyRight {
  record_work_name: string;
  id: number;
  record_work_type: string;
  record_work_nature: string;
  record_work_finish_date: string;
  record_work_finish_address: string;
  record_work_publish_state: true;
  record_work_publish_date: string;
  record_work_publish_country: string;
  record_work_publish_province: string;
  record_work_publish_city: string;
  record_work_gain_source: string;
  record_work_description: string;
  record_work_attachment: {
    id: number;
    user_id: number;
    name: string;
    bucket: string;
    url: string;
    etag: string;
    size: number;
    mime_type: string;
    hash_code: string;
    image_info_abbreviation: string;
    image_info_format: string;
    business_type: number;
  };
  contact_person: string;
  contact_email: string;
  contact_mobile: string;
  contact_telephone: string;
  contact_post_code: string;
  contact_fax: string;
  contact_address: string;
  authentication_ids: number[];
  authentication_main_id: number;
  authentications_info: {
    authentication_id: number;
    authentication_name: string;
    id: number;
  }[];
  record_audit_opinions?: string;
  record_work_status: string;
  record_work_id: number;
  certificate: string;
  record_no: string;
  total_amount: number;
  create_time: number;
  update_time: number;
}

export interface iCopyrightPostData {
  record_work_name: string;
  record_work_type: string;
  record_work_nature: string;
  record_work_finish_date: string;
  record_work_finish_address: string;
  record_work_publish_state?: boolean;
  record_work_publish_date?: string;
  record_work_publish_country?: string;
  record_work_publish_province?: string;
  record_work_publish_city?: string;
  record_work_gain_source: string;
  record_work_description?: string;
  record_work_attachment: {
    id: number;
    user_id: number;
    name: string;
    bucket: string;
    url: string;
    etag: string;
    size: number;
    mime_type: string;
    hash_code: string;
    image_info_abbreviation: string;
    image_info_format: string;
    business_type: number;
  };
  contact_person: string;
  contact_email: string;
  contact_mobile: string;
  contact_telephone?: string;
  contact_post_code?: string;
  contact_fax?: string;
  contact_address: string;
  authentication_ids: number[];
  to_drafts: boolean;
  authentication_main_id: number;
}
