diff --git a/apps/web/pages/api/documents/[id]/sign.ts b/apps/web/pages/api/documents/[id]/sign.ts index dc8a221fd..b88b13fa1 100644 --- a/apps/web/pages/api/documents/[id]/sign.ts +++ b/apps/web/pages/api/documents/[id]/sign.ts @@ -9,6 +9,7 @@ import { SigningStatus, DocumentStatus } from "@prisma/client"; import { getDocument } from "@documenso/lib/query"; import { Document as PrismaDocument } from "@prisma/client"; import { insertImageInPDF, insertTextInPDF } from "@documenso/pdf"; +import { sendSigningDoneMail } from "@documenso/lib/mail"; async function postHandler(req: NextApiRequest, res: NextApiResponse) { const existingUser = await getUserFromToken(req, res); @@ -83,6 +84,15 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) { }, }); + if (unsignedRecipients.length === 0) { + const documentOwner = await prisma.user.findFirstOrThrow({ + where: { id: document.userId }, + select: { email: true, name: true }, + }); + + if (documentOwner) sendSigningDoneMail(recipient, document, documentOwner); + } + return res.status(200).end(); async function insertSignatureInDocument(signedField: any) { diff --git a/packages/lib/mail/index.ts b/packages/lib/mail/index.ts index 5693dfb53..2576b5404 100644 --- a/packages/lib/mail/index.ts +++ b/packages/lib/mail/index.ts @@ -1,3 +1,3 @@ export { sendSigningRequest as sendSigningRequest } from "./sendSigningRequest"; -export { sendSignedMail } from "./sendSignedMail"; -export { transactionEmailTemplate } from "./transactionEmailTemplate" \ No newline at end of file +export { sendSigningDoneMail } from "./sendSigningDoneMail"; +export { transactionEmailTemplate } from "./transactionEmailTemplate"; diff --git a/packages/lib/mail/sendSignedMail.ts b/packages/lib/mail/sendSigningDoneMail.ts similarity index 66% rename from packages/lib/mail/sendSignedMail.ts rename to packages/lib/mail/sendSigningDoneMail.ts index 220d58a06..124b1acdc 100644 --- a/packages/lib/mail/sendSignedMail.ts +++ b/packages/lib/mail/sendSigningDoneMail.ts @@ -2,7 +2,7 @@ import { sendMail } from "./sendMail"; import { NEXT_PUBLIC_WEBAPP_URL } from "@documenso/lib/constants"; import { transactionEmailTemplate } from "@documenso/lib/mail"; -export const sendSignedMail = async ( +export const sendSigningDoneMail = async ( recipient: any, document: any, user: any @@ -12,13 +12,11 @@ export const sendSignedMail = async ( document.User.email, `${recipient.email} signed "${document.title}"`, transactionEmailTemplate( - `${document.User.name || recipient.email} has signed your document ${ - document.title - }`, + `All recipients have signed your document ${document.title}`, document, recipient, - `${NEXT_PUBLIC_WEBAPP_URL}/documents/${document.id}`, - `View Document`, + `${NEXT_PUBLIC_WEBAPP_URL}/api/documents/${document.id}`, + `Download "${document.title}"`, user ) );