mirror of
https://github.com/documenso/documenso.git
synced 2025-11-12 15:53:02 +10:00
48 lines
1.1 KiB
TypeScript
48 lines
1.1 KiB
TypeScript
import prisma from "@documenso/prisma";
|
|
import { sendMail } from "./sendMail";
|
|
import { SendStatus, ReadStatus, DocumentStatus } from "@prisma/client";
|
|
import { NEXT_PUBLIC_WEBAPP_URL } from "../constants";
|
|
import { signingRequestTemplate } from "@documenso/lib/mail";
|
|
|
|
export const sendSigningRequest = async (
|
|
recipient: any,
|
|
document: any,
|
|
user: any
|
|
) => {
|
|
await sendMail(
|
|
recipient.email,
|
|
`Please sign ${document.title}`,
|
|
signingRequestTemplate(
|
|
`${user.name} (${user.email}) has sent you a document to sign. `,
|
|
document,
|
|
recipient,
|
|
`${NEXT_PUBLIC_WEBAPP_URL}/documents/${document.id}/sign?token=${recipient.token}`,
|
|
`Sign Document`,
|
|
user
|
|
)
|
|
).catch((err) => {
|
|
throw err;
|
|
});
|
|
|
|
const expiryDate = new Date();
|
|
expiryDate.setDate(expiryDate.getDate() + 60);
|
|
|
|
await prisma.recipient.update({
|
|
where: {
|
|
id: recipient.id,
|
|
},
|
|
data: {
|
|
sendStatus: SendStatus.SENT,
|
|
readStatus: ReadStatus.NOT_OPENED,
|
|
expired: expiryDate,
|
|
},
|
|
});
|
|
|
|
await prisma.document.update({
|
|
where: {
|
|
id: document.id,
|
|
},
|
|
data: { status: DocumentStatus.PENDING },
|
|
});
|
|
};
|