feat: persist document metadata in database for a specific user

This commit is contained in:
Ephraim Atta-Duncan
2023-09-20 09:51:04 +00:00
committed by Mythie
parent 9521d1df4c
commit a3baf2ed8b
4 changed files with 85 additions and 7 deletions

View File

@ -1,7 +1,9 @@
'use server';
import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-session';
import { createDocumentMeta } from '@documenso/lib/server-only/document-meta/create-document-meta';
import { sendDocument } from '@documenso/lib/server-only/document/send-document';
import { updateDocument } from '@documenso/lib/server-only/document/update-document';
import { TAddSubjectFormSchema } from '@documenso/ui/primitives/document-flow/add-subject.types';
export type CompleteDocumentActionInput = TAddSubjectFormSchema & {
@ -13,9 +15,26 @@ export const completeDocument = async ({ documentId, email }: CompleteDocumentAc
const { id: userId } = await getRequiredServerComponentSession();
const createDocumentMetaResponse = await createDocumentMeta({
emailBody: email.message,
emailSubject: email.subject,
});
if (createDocumentMetaResponse) {
await updateDocument({
documentId,
data: {
DocumentMeta: {
connect: {
id: createDocumentMetaResponse.id,
},
},
},
});
}
await sendDocument({
userId,
documentId,
email,
});
};