All files / lib/packages/shared-types/events withdraw-package.ts

100% Statements 8/8
100% Branches 0/0
100% Functions 0/0
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28          215x           215x             215x               215x  
import { z } from "zod";
 
import { attachmentArraySchema, attachmentArraySchemaOptional } from "../attachments";
import { sharedSchema } from "./base-schema";
 
export const attachmentsDefault = z.object({
  supportingDocumentation: z.object({
    files: attachmentArraySchemaOptional(),
    label: z.string().default("Supporting Documentation"),
  }),
});
export const attachmentsChip = z.object({
  officialWithdrawalLetter: z.object({
    files: attachmentArraySchema(),
    label: z.string().default("Official Withdrawal Letter"),
  }),
});
 
export const baseSchema = z.object({
  event: z.literal("withdraw-package").default("withdraw-package"),
  id: z.string(),
  authority: z.string(),
  additionalInformation: z.string().trim().max(4000).optional(),
  attachments: attachmentsDefault.or(attachmentsChip),
});
 
export const schema = baseSchema.merge(sharedSchema);