chore: allow duplicate recipient in templates

This commit is contained in:
Catalin Pit
2025-02-06 16:58:16 +02:00
parent b684b9574d
commit 2896673a23
4 changed files with 12 additions and 9 deletions

View File

@ -22,8 +22,8 @@ export type SetFieldsForTemplateOptions = {
fields: {
id?: number | null;
type: FieldType;
signerEmail: string;
recipientId: number;
signerEmail: string;
pageNumber: number;
pageX: number;
pageY: number;
@ -181,10 +181,8 @@ export const setFieldsForTemplate = async ({
},
recipient: {
connect: {
templateId_email: {
templateId,
email: field.signerEmail.toLowerCase(),
},
id: field.recipientId,
},
},
},

View File

@ -141,10 +141,8 @@ export const createDocumentFromTemplateLegacy = async ({
return await prisma.recipient.upsert({
where: {
documentId_email: {
documentId: document.id,
email: existingRecipient?.email ?? recipient.email,
},
id: existingRecipient?.id,
},
update: {
name: recipient.name,

View File

@ -122,6 +122,7 @@ export const AddTemplateFieldsFormPartial = ({
pageY: Number(field.positionY),
pageWidth: Number(field.width),
pageHeight: Number(field.height),
recipientId: field.recipientId ?? -1,
signerId: field.recipientId ?? -1,
signerEmail:
recipients.find((recipient) => recipient.id === field.recipientId)?.email ?? '',
@ -177,6 +178,8 @@ export const AddTemplateFieldsFormPartial = ({
formId: nanoid(12),
signerEmail: selectedSigner?.email ?? lastActiveField.signerEmail,
signerId: selectedSigner?.id ?? lastActiveField.signerId,
recipientId:
selectedSigner?.id || lastActiveField.recipientId || lastActiveField.signerId || 0,
signerToken: selectedSigner?.token ?? lastActiveField.signerToken,
pageX: lastActiveField.pageX + 3,
pageY: lastActiveField.pageY + 3,
@ -207,6 +210,7 @@ export const AddTemplateFieldsFormPartial = ({
formId: nanoid(12),
signerEmail: selectedSigner?.email ?? copiedField.signerEmail,
signerId: selectedSigner?.id ?? copiedField.signerId,
recipientId: selectedSigner?.id || copiedField.recipientId || copiedField.signerId || 0,
signerToken: selectedSigner?.token ?? copiedField.signerToken,
pageX: copiedField.pageX + 3,
pageY: copiedField.pageY + 3,
@ -329,6 +333,8 @@ export const AddTemplateFieldsFormPartial = ({
pageHeight: fieldPageHeight,
signerEmail: selectedSigner.email,
signerId: selectedSigner.id,
recipientId:
selectedSigner.id || lastActiveField?.recipientId || lastActiveField?.signerId || 0,
signerToken: selectedSigner.token ?? '',
fieldMeta: undefined,
});

View File

@ -12,6 +12,7 @@ export const ZAddTemplateFieldsFormSchema = z.object({
signerEmail: z.string().min(1),
signerToken: z.string(),
signerId: z.number().optional(),
recipientId: z.number(),
pageNumber: z.number().min(1),
pageX: z.number().min(0),
pageY: z.number().min(0),