import Joi from 'joi';
import { BaseResponseSchema } from './base-response-schema';
import { ManifestStatusSchema } from '../models/manifest-status-schema';
import { ManifestErrorSchema } from '../models/manifests/manifest-error-schema';
import { ManifestSchema } from '../models/manifests/manifest-schema';

export const CreateManifestResponseSchema = BaseResponseSchema.keys({
  transaction_id: Joi.string().required(),
  manifests: Joi.array().optional().items(ManifestSchema),
  errors: ManifestErrorSchema.optional(),
  manifest_request_id: Joi.number().optional(),
  manifest_status: ManifestStatusSchema.optional,
  total_shipments: Joi.number().optional(),
  total_invalid: Joi.number().optional(),
  manifest_identifiers: Joi.any().optional(),
});
