Files
sign/apps/web/src/components/forms/edit-document/add-subject.action.ts

46 lines
1.2 KiB
TypeScript
Raw Normal View History

'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 & {
documentId: number;
};
2023-09-20 09:06:28 +00:00
export const completeDocument = async ({ documentId, email }: CompleteDocumentActionInput) => {
'use server';
const { id: userId } = await getRequiredServerComponentSession();
if (!email.message && !email.subject) {
return await sendDocument({
userId,
documentId,
});
}
const createDocumentMetaResponse = await createDocumentMeta({
emailBody: email.message,
emailSubject: email.subject,
});
await updateDocument({
documentId,
data: {
DocumentMeta: {
connect: {
id: createDocumentMetaResponse.id,
},
},
},
});
await sendDocument({
userId,
documentId,
});
};