Files
sign/packages/lib/mail/sendSigningRequest.ts

48 lines
1.1 KiB
TypeScript
Raw Normal View History

2023-01-30 17:13:02 +01:00
import prisma from "@documenso/prisma";
import { sendMail } from "./sendMail";
2023-02-24 11:11:06 +01:00
import { SendStatus, ReadStatus, DocumentStatus } from "@prisma/client";
2023-01-30 17:13:02 +01:00
import { NEXT_PUBLIC_WEBAPP_URL } from "../constants";
2023-02-21 17:42:30 +01:00
import { signingRequestTemplate } from "@documenso/lib/mail";
2023-01-30 17:13:02 +01:00
2023-02-09 18:52:15 +01:00
export const sendSigningRequest = async (
recipient: any,
document: any,
user: any
) => {
2023-01-30 17:13:02 +01:00
await sendMail(
recipient.email,
2023-01-30 17:19:29 +01:00
`Please sign ${document.title}`,
2023-02-21 17:42:30 +01:00
signingRequestTemplate(
2023-02-09 18:52:15 +01:00
`${user.name} (${user.email}) has sent you a document to sign. `,
document,
recipient,
`${NEXT_PUBLIC_WEBAPP_URL}/documents/${document.id}/sign?token=${recipient.token}`,
2023-02-09 19:17:34 +01:00
`Sign Document`,
user
)
).catch((err) => {
throw err;
});
const expiryDate = new Date();
expiryDate.setDate(expiryDate.getDate() + 60);
2023-01-30 17:13:02 +01:00
await prisma.recipient.update({
where: {
id: recipient.id,
},
data: {
sendStatus: SendStatus.SENT,
readStatus: ReadStatus.NOT_OPENED,
expired: expiryDate,
},
2023-01-30 17:13:02 +01:00
});
await prisma.document.update({
where: {
id: document.id,
},
data: { status: DocumentStatus.PENDING },
});
};