Skip to content

Commit

Permalink
use groupBy from lodash
Browse files Browse the repository at this point in the history
  • Loading branch information
bosiraphael committed Feb 22, 2024
1 parent 47092cd commit 852fd3c
Showing 1 changed file with 20 additions and 40 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import { Injectable } from '@nestjs/common';

import groupBy from 'lodash.groupBy';

import { TIMELINE_THREADS_DEFAULT_PAGE_SIZE } from 'src/core/messaging/constants/messaging.constants';
import { TimelineThreadsWithTotal } from 'src/core/messaging/dtos/timeline-threads-with-total.dto';
import { TypeORMService } from 'src/database/typeorm/typeorm.service';
Expand Down Expand Up @@ -93,7 +95,7 @@ export class TimelineMessagingService {
}[]
| undefined = await workspaceDataSource?.query(
`
SELECT *
SELECT id, subject
FROM
(SELECT
message."messageThreadId" AS id,
Expand Down Expand Up @@ -140,44 +142,22 @@ export class TimelineMessagingService {
id: string;
lastMessageReceivedAt: Date;
lastMessageBody: string;
};
} = messageThreads.reduce((messageThreadAcc, messageThread) => {
messageThreadAcc[messageThread.id] = messageThread;
}[];
} = groupBy(messageThreads, 'id');

return messageThreadAcc;
}, {});

const subjectsByMessageThreadId:
| {
[key: string]: {
id: string;
subject: string;
};
}
| undefined = threadSubjects?.reduce(
(threadSubjectAcc, threadSubject) => {
threadSubjectAcc[threadSubject.id] = threadSubject;

return threadSubjectAcc;
},
{},
);

const numberOfMessagesByMessageThreadId:
| {
[key: string]: {
id: string;
numberOfMessagesInThread: number;
};
}
| undefined = numberOfMessagesInThread?.reduce(
(numberOfMessagesAcc, numberOfMessages) => {
numberOfMessagesAcc[numberOfMessages.id] = numberOfMessages;
const subjectsByMessageThreadId: {
[key: string]: {
id: string;
subject: string;
}[];
} = groupBy(threadSubjects, 'id');

return numberOfMessagesAcc;
},
{},
);
const numberOfMessagesByMessageThreadId: {
[key: string]: {
id: string;
numberOfMessagesInThread: number;
}[];
} = groupBy(numberOfMessagesInThread, 'id');

const threadMessagesFromActiveParticipants:
| {
Expand Down Expand Up @@ -377,13 +357,13 @@ export class TimelineMessagingService {
);
}

const thread = messageThreadsByMessageThreadId[messageThreadId];
const thread = messageThreadsByMessageThreadId[messageThreadId][0];

const threadSubject =
subjectsByMessageThreadId?.[messageThreadId].subject ?? '';
subjectsByMessageThreadId?.[messageThreadId][0].subject ?? '';

const numberOfMessages =
numberOfMessagesByMessageThreadId?.[messageThreadId]
numberOfMessagesByMessageThreadId?.[messageThreadId][0]
.numberOfMessagesInThread ?? 1;

return {
Expand Down

0 comments on commit 852fd3c

Please sign in to comment.