2023-07-26 18:52:53 +10:00
|
|
|
'use server';
|
|
|
|
|
|
|
|
|
|
import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session';
|
2023-09-22 12:27:54 +00:00
|
|
|
import { upsertDocumentMeta } from '@documenso/lib/server-only/document-meta/upsert-document-meta';
|
2023-07-26 18:52:53 +10:00
|
|
|
import { sendDocument } from '@documenso/lib/server-only/document/send-document';
|
2023-08-23 11:22:13 +10:00
|
|
|
import { TAddSubjectFormSchema } from '@documenso/ui/primitives/document-flow/add-subject.types';
|
2023-07-26 18:52:53 +10:00
|
|
|
|
|
|
|
|
export type CompleteDocumentActionInput = TAddSubjectFormSchema & {
|
|
|
|
|
documentId: number;
|
|
|
|
|
};
|
|
|
|
|
|
2023-09-20 09:06:28 +00:00
|
|
|
export const completeDocument = async ({ documentId, email }: CompleteDocumentActionInput) => {
|
2023-07-26 18:52:53 +10:00
|
|
|
'use server';
|
|
|
|
|
|
|
|
|
|
const { id: userId } = await getRequiredServerComponentSession();
|
|
|
|
|
|
2023-09-22 12:27:54 +00:00
|
|
|
if (email.message || email.subject) {
|
|
|
|
|
await upsertDocumentMeta({
|
2023-09-20 12:38:39 +00:00
|
|
|
documentId,
|
2023-09-22 12:27:54 +00:00
|
|
|
subject: email.subject,
|
|
|
|
|
message: email.message,
|
2023-09-20 12:38:39 +00:00
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-22 12:27:54 +00:00
|
|
|
return await sendDocument({
|
2023-07-26 18:52:53 +10:00
|
|
|
userId,
|
|
|
|
|
documentId,
|
|
|
|
|
});
|
|
|
|
|
};
|