import Joi from 'joi';
import { CustomsContentTypesSchema } from '../customs/customs-content-types-schema';
import { CustomsNonDeliverySchema } from '../customs/customs-non-delivery-schema';
import { CustomsItemSchema } from '../customs/customs-item-schema';
import { CurrencySchema } from '@shipengine/connect-carrier-api';
import { TermsOfTradeCodeSchema } from '../inconterms/terms-of-trade-code-schema';
import { ImporterOfRecordSchema } from '../importer-records/importer-of-record-schema';
import { CustomsChargesSchema } from '../customs/customs-charges-schema';

export const CustomsSchema = Joi.object({
  contents: CustomsContentTypesSchema.optional(),
  non_delivery: CustomsNonDeliverySchema.optional(),
  buyer_shipping_amount_paid: CurrencySchema.optional(),
  duties_paid: CurrencySchema.optional(),
  declaration: Joi.string().optional(),
  terms_of_trade_code: TermsOfTradeCodeSchema.optional(),
  importer_of_record: ImporterOfRecordSchema.optional(),
  invoice_additional_details: CustomsChargesSchema.optional(),
  contents_explanation: Joi.string().optional(),
  export_declaration_number: Joi.string().optional(),
});
