fix: missing signing order when using templates (#1425)

This commit is contained in:
David Nguyen
2024-11-03 20:17:41 +09:00
committed by GitHub
parent 28514ba2e7
commit 885349ad94
2 changed files with 10 additions and 1 deletions

View File

@ -10,6 +10,7 @@ import { nanoid } from '@documenso/lib/universal/id';
import { prisma } from '@documenso/prisma'; import { prisma } from '@documenso/prisma';
import type { Field, Signature } from '@documenso/prisma/client'; import type { Field, Signature } from '@documenso/prisma/client';
import { import {
DocumentSigningOrder,
DocumentSource, DocumentSource,
DocumentStatus, DocumentStatus,
FieldType, FieldType,
@ -142,6 +143,7 @@ export const createDocumentFromDirectTemplate = async ({
const metaDateFormat = template.templateMeta?.dateFormat || DEFAULT_DOCUMENT_DATE_FORMAT; const metaDateFormat = template.templateMeta?.dateFormat || DEFAULT_DOCUMENT_DATE_FORMAT;
const metaEmailMessage = template.templateMeta?.message || ''; const metaEmailMessage = template.templateMeta?.message || '';
const metaEmailSubject = template.templateMeta?.subject || ''; const metaEmailSubject = template.templateMeta?.subject || '';
const metaSigningOrder = template.templateMeta?.signingOrder || DocumentSigningOrder.PARALLEL;
// Associate, validate and map to a query every direct template recipient field with the provided fields. // Associate, validate and map to a query every direct template recipient field with the provided fields.
const createDirectRecipientFieldArgs = await Promise.all( const createDirectRecipientFieldArgs = await Promise.all(
@ -256,6 +258,7 @@ export const createDocumentFromDirectTemplate = async ({
recipient.role === RecipientRole.CC recipient.role === RecipientRole.CC
? SigningStatus.SIGNED ? SigningStatus.SIGNED
: SigningStatus.NOT_SIGNED, : SigningStatus.NOT_SIGNED,
signingOrder: recipient.signingOrder,
token: nanoid(), token: nanoid(),
}; };
}), }),
@ -267,6 +270,7 @@ export const createDocumentFromDirectTemplate = async ({
dateFormat: metaDateFormat, dateFormat: metaDateFormat,
message: metaEmailMessage, message: metaEmailMessage,
subject: metaEmailSubject, subject: metaEmailSubject,
signingOrder: metaSigningOrder,
}, },
}, },
}, },
@ -330,6 +334,7 @@ export const createDocumentFromDirectTemplate = async ({
signingStatus: SigningStatus.SIGNED, signingStatus: SigningStatus.SIGNED,
sendStatus: SendStatus.SENT, sendStatus: SendStatus.SENT,
signedAt: initialRequestTime, signedAt: initialRequestTime,
signingOrder: directTemplateRecipient.signingOrder,
Field: { Field: {
createMany: { createMany: {
data: directTemplateNonSignatureFields.map(({ templateField, customText }) => ({ data: directTemplateNonSignatureFields.map(({ templateField, customText }) => ({

View File

@ -24,7 +24,10 @@ import {
} from '../../utils/document-auth'; } from '../../utils/document-auth';
import { triggerWebhook } from '../webhooks/trigger/trigger-webhook'; import { triggerWebhook } from '../webhooks/trigger/trigger-webhook';
type FinalRecipient = Pick<Recipient, 'name' | 'email' | 'role' | 'authOptions'> & { type FinalRecipient = Pick<
Recipient,
'name' | 'email' | 'role' | 'authOptions' | 'signingOrder'
> & {
templateRecipientId: number; templateRecipientId: number;
fields: Field[]; fields: Field[];
}; };
@ -197,6 +200,7 @@ export const createDocumentFromTemplate = async ({
recipient.role === RecipientRole.CC recipient.role === RecipientRole.CC
? SigningStatus.SIGNED ? SigningStatus.SIGNED
: SigningStatus.NOT_SIGNED, : SigningStatus.NOT_SIGNED,
signingOrder: recipient.signingOrder,
token: nanoid(), token: nanoid(),
}; };
}), }),