From 95a2de8d5429c67ccd404f72c247e8ee5267a01d Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Sun, 7 May 2023 17:36:13 +0900
Subject: [PATCH] =?UTF-8?q?fix(backend):=20=E5=87=8D=E7=B5=90=E3=81=95?=
 =?UTF-8?q?=E3=82=8C=E3=81=9F=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC=E3=81=8C?=
 =?UTF-8?q?=E4=B8=80=E9=83=A8API=E3=81=AE=E3=83=AC=E3=82=B9=E3=83=9D?=
 =?UTF-8?q?=E3=83=B3=E3=82=B9=E3=81=AB=E5=90=AB=E3=81=BE=E3=82=8C=E3=82=8B?=
 =?UTF-8?q?=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CHANGELOG.md                                                | 1 +
 packages/backend/src/server/api/endpoints/hashtags/users.ts | 3 ++-
 packages/backend/src/server/api/endpoints/users.ts          | 5 +++--
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7105a72dcd..78d7b9fa0d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -65,6 +65,7 @@
 - Fix: Content-Dispositionのパースでエラーが発生した場合にダウンロードが完了しない問題を修正
 - Fix: API: i/update avatarIdとbannerIdにnullを渡した時、画像がリセットされない問題を修正
 - Fix: .wav, .flacが再生できない問題を修正(新しくアップロードされたファイルのみ修正が適用されます)
+- Fix: 凍結されたユーザーが一部APIのレスポンスに含まれる問題を修正
 - Fix: メモリの使用量を`used - buffers - cached`ではなく`total - available`で求めるように(環境によって正常に計測できていなかったため)
 
 ## 13.11.3
diff --git a/packages/backend/src/server/api/endpoints/hashtags/users.ts b/packages/backend/src/server/api/endpoints/hashtags/users.ts
index c3f2ea9ea7..dd3549020e 100644
--- a/packages/backend/src/server/api/endpoints/hashtags/users.ts
+++ b/packages/backend/src/server/api/endpoints/hashtags/users.ts
@@ -44,7 +44,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
 	) {
 		super(meta, paramDef, async (ps, me) => {
 			const query = this.usersRepository.createQueryBuilder('user')
-				.where(':tag = ANY(user.tags)', { tag: normalizeForSearch(ps.tag) });
+				.where(':tag = ANY(user.tags)', { tag: normalizeForSearch(ps.tag) })
+				.andWhere('user.isSuspended = FALSE');
 
 			const recent = new Date(Date.now() - (1000 * 60 * 60 * 24 * 5));
 
diff --git a/packages/backend/src/server/api/endpoints/users.ts b/packages/backend/src/server/api/endpoints/users.ts
index 8becb68a34..28cd9f6ce5 100644
--- a/packages/backend/src/server/api/endpoints/users.ts
+++ b/packages/backend/src/server/api/endpoints/users.ts
@@ -50,8 +50,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
 		private queryService: QueryService,
 	) {
 		super(meta, paramDef, async (ps, me) => {
-			const query = this.usersRepository.createQueryBuilder('user');
-			query.where('user.isExplorable = TRUE');
+			const query = this.usersRepository.createQueryBuilder('user')
+				.where('user.isExplorable = TRUE')
+				.andWhere('user.isSuspended = FALSE');
 
 			switch (ps.state) {
 				case 'alive': query.andWhere('user.updatedAt > :date', { date: new Date(Date.now() - 1000 * 60 * 60 * 24 * 5) }); break;