From 1326fb90924bcc0e70b23c76be23542039162acf Mon Sep 17 00:00:00 2001 From: Ordis <134585663+OrdisPrime@users.noreply.github.com> Date: Fri, 31 Jan 2025 13:04:43 +0100 Subject: [PATCH] 3 --- src/services/inboxService.ts | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/src/services/inboxService.ts b/src/services/inboxService.ts index 2dbf3c28..3aec02f4 100644 --- a/src/services/inboxService.ts +++ b/src/services/inboxService.ts @@ -32,7 +32,7 @@ export const createNewEventMessages = async (req: Request) => { const account = await getAccountForRequest(req); const latestEventMessageDate = account.LatestEventMessageDate; - //TODO: is baroo there? send message + //TODO: is baroo there? create these kind of messages too (periodical messages) const newEventMessages = messages.Messages.filter(m => new Date(m.eventMessageDate) > latestEventMessageDate); if (newEventMessages.length === 0) { @@ -40,30 +40,25 @@ export const createNewEventMessages = async (req: Request) => { return; } - const newEventMessagesSorted = newEventMessages.sort( - (a, b) => new Date(a.eventMessageDate).getTime() - new Date(b.eventMessageDate).getTime() - ); const savedEventMessages = await createMessage(account._id.toString(), newEventMessages); logger.debug("created event messages", savedEventMessages); - const latestEventMessage = savedEventMessages.reduce((prev, current) => - prev.date > current.date ? prev : current + const latestEventMessage = newEventMessages.reduce((prev, current) => + prev.eventMessageDate > current.eventMessageDate ? prev : current ); - account.LatestEventMessageDate = latestEventMessage.date; + console.log("latestEventMessage", latestEventMessage); + account.LatestEventMessageDate = new Date(latestEventMessage.eventMessageDate); await account.save(); }; -export const createMessage = async (accountId: string, message: IMessageCreationTemplate[]) => { - //TODO: createmany - const savedMessages = []; - for (const msg of message) { - const savedMessage = await Inbox.create({ - ...msg, - ownerId: accountId - }); - savedMessages.push(savedMessage); - } +export const createMessage = async (accountId: string, messages: IMessageCreationTemplate[]) => { + const ownerIdMessages = messages.map(m => ({ + ...m, + ownerId: accountId + })); + + const savedMessages = await Inbox.insertMany(ownerIdMessages); return savedMessages; };