From 115ac5fe6c87181fe33de367d88d01ef872ed2af Mon Sep 17 00:00:00 2001 From: Himanshu Ahuja <106527952+himanshu-ntml@users.noreply.github.com> Date: Tue, 3 Jun 2025 18:12:10 -0400 Subject: [PATCH] fix: return updated contact info --- packages/api/src/controllers/v1/Contacts.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/packages/api/src/controllers/v1/Contacts.ts b/packages/api/src/controllers/v1/Contacts.ts index 7389975..0cfdfb4 100644 --- a/packages/api/src/controllers/v1/Contacts.ts +++ b/packages/api/src/controllers/v1/Contacts.ts @@ -248,12 +248,17 @@ export class Contacts { const { id, email, subscribed, data } = ContactSchemas.manage.parse(req.body); - const contact = id ? await ContactService.id(id) : await ContactService.email(project.id, email as string); + let contact = id ? await ContactService.id(id) : await ContactService.email(project.id, email as string); if (!contact || contact.projectId !== project.id) { throw new NotFound("contact"); } + const updateData: Record = { + email, + subscribed: subscribed ?? contact.subscribed, + }; + if (data) { const givenUserData = Object.entries(data); const dataToUpdate = JSON.parse(contact.data ?? "{}"); @@ -266,18 +271,12 @@ export class Contacts { } }); - await prisma.contact.update({ - where: { id: contact.id }, - data: { data: JSON.stringify(dataToUpdate) }, - }); + updateData.data = JSON.stringify(dataToUpdate); } - await prisma.contact.update({ + contact = await prisma.contact.update({ where: { id: contact.id }, - data: { - email, - subscribed: subscribed ?? contact.subscribed, - }, + data: updateData, }); await redis.del(Keys.Project.contacts(project.id));