diff --git a/packages/trpc/server/recipient-router/schema.ts b/packages/trpc/server/recipient-router/schema.ts index 7e05eb002..bbad7981d 100644 --- a/packages/trpc/server/recipient-router/schema.ts +++ b/packages/trpc/server/recipient-router/schema.ts @@ -96,29 +96,19 @@ export const ZDeleteDocumentRecipientRequestSchema = z.object({ recipientId: z.number(), }); -export const ZSetDocumentRecipientsRequestSchema = z - .object({ - documentId: z.number(), - recipients: z.array( - z.object({ - nativeId: z.number().optional(), - email: z.string().toLowerCase().email().min(1), - name: z.string(), - role: z.nativeEnum(RecipientRole), - signingOrder: z.number().optional(), - actionAuth: ZRecipientActionAuthTypesSchema.optional().nullable(), - }), - ), - }) - .refine( - (schema) => { - const emails = schema.recipients.map((recipient) => recipient.email.toLowerCase()); - - return new Set(emails).size === emails.length; - }, - // Dirty hack to handle errors when .root is populated for an array type - { message: 'Recipients must have unique emails', path: ['recipients__root'] }, - ); +export const ZSetDocumentRecipientsRequestSchema = z.object({ + documentId: z.number(), + recipients: z.array( + z.object({ + nativeId: z.number().optional(), + email: z.string().toLowerCase().email().min(1), + name: z.string(), + role: z.nativeEnum(RecipientRole), + signingOrder: z.number().optional(), + actionAuth: ZRecipientActionAuthTypesSchema.optional().nullable(), + }), + ), +}); export const ZSetDocumentRecipientsResponseSchema = z.object({ recipients: ZRecipientLiteSchema.array(),