fix: avoid creating document meta with empty strings

This commit is contained in:
Ephraim Atta-Duncan
2023-09-20 12:38:39 +00:00
parent c9c111cdf2
commit f2d3c51651
2 changed files with 29 additions and 27 deletions

View File

@ -15,12 +15,18 @@ export const completeDocument = async ({ documentId, email }: CompleteDocumentAc
const { id: userId } = await getRequiredServerComponentSession(); const { id: userId } = await getRequiredServerComponentSession();
if (!email.message && !email.subject) {
return await sendDocument({
userId,
documentId,
});
}
const createDocumentMetaResponse = await createDocumentMeta({ const createDocumentMetaResponse = await createDocumentMeta({
emailBody: email.message, emailBody: email.message,
emailSubject: email.subject, emailSubject: email.subject,
}); });
if (createDocumentMetaResponse) {
await updateDocument({ await updateDocument({
documentId, documentId,
data: { data: {
@ -31,7 +37,6 @@ export const completeDocument = async ({ documentId, email }: CompleteDocumentAc
}, },
}, },
}); });
}
await sendDocument({ await sendDocument({
userId, userId,

View File

@ -11,26 +11,23 @@ export const createDocumentMeta = async ({
emailBody, emailBody,
emailSubject, emailSubject,
}: CreateDocumentMetaOptions) => { }: CreateDocumentMetaOptions) => {
const documentMeta = await prisma.documentMeta.findFirst(); const emailData = {
if (!documentMeta) {
return await prisma.documentMeta.create({
data: {
customEmailBody: emailBody, customEmailBody: emailBody,
customEmailSubject: emailSubject, customEmailSubject: emailSubject,
}, };
const existingDocumentMeta = await prisma.documentMeta.findFirst({
where: emailData,
}); });
}
if (emailBody && emailSubject) { if (existingDocumentMeta) {
return await prisma.documentMeta.update({ return await prisma.documentMeta.update({
where: { where: { id: existingDocumentMeta.id },
id: documentMeta.id, data: emailData,
}, });
data: { } else {
customEmailBody: emailBody, return await prisma.documentMeta.create({
customEmailSubject: emailSubject, data: emailData,
},
}); });
} }
}; };