From 268cf6df60d5ade3c3118112199993cf484571f4 Mon Sep 17 00:00:00 2001 From: nacika-ins Date: Fri, 29 Mar 2024 10:57:43 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=E3=82=AF=E3=82=A8=E3=83=AA=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E3=81=AE=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/server/api/endpoints/messaging/history.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/server/api/endpoints/messaging/history.ts b/packages/backend/src/server/api/endpoints/messaging/history.ts index 6ff6a79a6dc0..52d240eaeb41 100644 --- a/packages/backend/src/server/api/endpoints/messaging/history.ts +++ b/packages/backend/src/server/api/endpoints/messaging/history.ts @@ -96,13 +96,21 @@ export default class extends Endpoint { .where(qb => { qb.where('root.id IN (' + this.messagingMessagesRepository .createQueryBuilder('message') - .where('message.userId IN (:...userIds)', { userIds: userIds }) - .andWhere('message.recipientId = :meId', { meId: me.id }) + .where(new Brackets(qb => { + qb.where(new Brackets(qb => { + // 他人が送信したメッセージ + qb.where('message.userId IN (:...userIds)', { userIds: userIds }) + .andWhere('message.recipientId = :meId', { meId: me.id }); + })).orWhere(new Brackets(qb => { + // 自分が送信したメッセージ + qb.where('message.userId = :meId', { meId: me.id }); + })); + })) .andWhere('message.groupId IS NULL') .groupBy('message.userId') .select('max(message.id) as id') .getQuery() + ')'); - }).setParameter('userIds', userIds).getMany(); + }).setParameters({ userIds, meId: me.id }).getMany(); const messages = Array.from(new Map([ ...groupMessages,