From 9521d1df4c267c408a97dceaa6577be4dd17f573 Mon Sep 17 00:00:00 2001 From: Ephraim Atta-Duncan Date: Wed, 20 Sep 2023 09:06:28 +0000 Subject: [PATCH] feat: send custom email subjects --- .../forms/edit-document/add-subject.action.ts | 3 ++- packages/lib/server-only/document/send-document.tsx | 11 +++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/apps/web/src/components/forms/edit-document/add-subject.action.ts b/apps/web/src/components/forms/edit-document/add-subject.action.ts index b6ff1c320..7dddbe222 100644 --- a/apps/web/src/components/forms/edit-document/add-subject.action.ts +++ b/apps/web/src/components/forms/edit-document/add-subject.action.ts @@ -8,7 +8,7 @@ export type CompleteDocumentActionInput = TAddSubjectFormSchema & { documentId: number; }; -export const completeDocument = async ({ documentId }: CompleteDocumentActionInput) => { +export const completeDocument = async ({ documentId, email }: CompleteDocumentActionInput) => { 'use server'; const { id: userId } = await getRequiredServerComponentSession(); @@ -16,5 +16,6 @@ export const completeDocument = async ({ documentId }: CompleteDocumentActionInp await sendDocument({ userId, documentId, + email, }); }; diff --git a/packages/lib/server-only/document/send-document.tsx b/packages/lib/server-only/document/send-document.tsx index 83a88f24a..980868a48 100644 --- a/packages/lib/server-only/document/send-document.tsx +++ b/packages/lib/server-only/document/send-document.tsx @@ -5,13 +5,16 @@ import { render } from '@documenso/email/render'; import { DocumentInviteEmailTemplate } from '@documenso/email/templates/document-invite'; import { prisma } from '@documenso/prisma'; import { DocumentStatus, SendStatus } from '@documenso/prisma/client'; +import { TAddSubjectFormSchema } from '@documenso/ui/primitives/document-flow/add-subject.types'; -export interface SendDocumentOptions { +export type SendDocumentOptions = TAddSubjectFormSchema & { documentId: number; userId: number; -} +}; + +export const sendDocument = async ({ documentId, userId, email }: SendDocumentOptions) => { + const customEmail = email; -export const sendDocument = async ({ documentId, userId }: SendDocumentOptions) => { const user = await prisma.user.findFirstOrThrow({ where: { id: userId, @@ -68,7 +71,7 @@ export const sendDocument = async ({ documentId, userId }: SendDocumentOptions) name: process.env.NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso', address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com', }, - subject: 'Please sign this document', + subject: customEmail.subject ? customEmail.subject : 'Please sign this document', html: render(template), text: render(template, { plainText: true }), });