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

View File

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

View File

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

View File

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