fix: complete document when all recipients are CC

This commit is contained in:
Catalin Pit
2024-04-24 09:39:47 +03:00
parent 3fb69422e8
commit bb43547a45

View File

@ -4,6 +4,8 @@ import { mailer } from '@documenso/email/mailer';
import { render } from '@documenso/email/render'; import { render } from '@documenso/email/render';
import { DocumentInviteEmailTemplate } from '@documenso/email/templates/document-invite'; import { DocumentInviteEmailTemplate } from '@documenso/email/templates/document-invite';
import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email'; import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email';
import { sealDocument } from '@documenso/lib/server-only/document/seal-document';
import { updateDocument } from '@documenso/lib/server-only/document/update-document';
import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs'; import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs';
import type { RequestMetadata } from '@documenso/lib/universal/extract-request-metadata'; import type { RequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
import { createDocumentAuditLogData } from '@documenso/lib/utils/document-audit-logs'; import { createDocumentAuditLogData } from '@documenso/lib/utils/document-audit-logs';
@ -215,6 +217,17 @@ export const sendDocument = async ({
(recipient) => recipient.role === RecipientRole.CC, (recipient) => recipient.role === RecipientRole.CC,
); );
if (allRecipientsAreCC) {
const updatedDocument = await updateDocument({
documentId,
userId,
teamId,
data: { status: DocumentStatus.COMPLETED },
});
return await sealDocument({ documentId: updatedDocument.id, requestMetadata });
}
const updatedDocument = await prisma.$transaction(async (tx) => { const updatedDocument = await prisma.$transaction(async (tx) => {
if (document.status === DocumentStatus.DRAFT) { if (document.status === DocumentStatus.DRAFT) {
await tx.documentAuditLog.create({ await tx.documentAuditLog.create({
@ -233,7 +246,7 @@ export const sendDocument = async ({
id: documentId, id: documentId,
}, },
data: { data: {
status: allRecipientsAreCC ? DocumentStatus.COMPLETED : DocumentStatus.PENDING, status: DocumentStatus.PENDING,
}, },
include: { include: {
Recipient: true, Recipient: true,