This commit is contained in:
Ordis 2025-01-31 13:04:43 +01:00
parent cdc9493b40
commit 1326fb9092

View File

@ -32,7 +32,7 @@ export const createNewEventMessages = async (req: Request) => {
const account = await getAccountForRequest(req); const account = await getAccountForRequest(req);
const latestEventMessageDate = account.LatestEventMessageDate; 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); const newEventMessages = messages.Messages.filter(m => new Date(m.eventMessageDate) > latestEventMessageDate);
if (newEventMessages.length === 0) { if (newEventMessages.length === 0) {
@ -40,30 +40,25 @@ export const createNewEventMessages = async (req: Request) => {
return; 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); const savedEventMessages = await createMessage(account._id.toString(), newEventMessages);
logger.debug("created event messages", savedEventMessages); logger.debug("created event messages", savedEventMessages);
const latestEventMessage = savedEventMessages.reduce((prev, current) => const latestEventMessage = newEventMessages.reduce((prev, current) =>
prev.date > current.date ? 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(); await account.save();
}; };
export const createMessage = async (accountId: string, message: IMessageCreationTemplate[]) => { export const createMessage = async (accountId: string, messages: IMessageCreationTemplate[]) => {
//TODO: createmany const ownerIdMessages = messages.map(m => ({
const savedMessages = []; ...m,
for (const msg of message) {
const savedMessage = await Inbox.create({
...msg,
ownerId: accountId ownerId: accountId
}); }));
savedMessages.push(savedMessage);
} const savedMessages = await Inbox.insertMany(ownerIdMessages);
return savedMessages; return savedMessages;
}; };