From 4a7c6e261a847a5cc622d72dc291755956bb71e8 Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 19 Oct 2023 20:47:23 +0900 Subject: [PATCH] =?UTF-8?q?fix(backend):=20=E7=AE=A1=E7=90=86=E8=80=85?= =?UTF-8?q?=E6=A8=A9=E9=99=90=E3=81=AE=E3=83=AD=E3=83=BC=E3=83=AB=E3=82=92?= =?UTF-8?q?=E6=8C=81=E3=81=A3=E3=81=A6=E3=81=84=E3=81=A6=E3=82=82=E4=B8=80?= =?UTF-8?q?=E9=83=A8=E3=81=AEAPI=E3=81=8C=E4=BD=BF=E7=94=A8=E3=81=A7?= =?UTF-8?q?=E3=81=8D=E3=81=AA=E3=81=84=E3=81=93=E3=81=A8=E3=81=8C=E3=81=82?= =?UTF-8?q?=E3=82=8B=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/ApiCallService.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4560cee898..f5feec00c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ - Enhance: ストリーミングAPIのパフォーマンスを向上 - Fix: users/notesでDBから参照した際にチャンネル投稿のみ取得される問題を修正 - Fix: コントロールパネルの設定項目が正しく保存できない問題を修正 +- Fix: 管理者権限のロールを持っていても一部のAPIが使用できないことがある問題を修正 - Change: ユーザーのisCatがtrueでも、サーバーではnyaizeが行われなくなりました - isCatな場合、クライアントでnyaize処理を行うことを推奨します diff --git a/packages/backend/src/server/api/ApiCallService.ts b/packages/backend/src/server/api/ApiCallService.ts index 085a0fd58a..66f171a5d8 100644 --- a/packages/backend/src/server/api/ApiCallService.ts +++ b/packages/backend/src/server/api/ApiCallService.ts @@ -318,8 +318,9 @@ export class ApiCallService implements OnApplicationShutdown { } if (ep.meta.requireRolePolicy != null && !user!.isRoot) { + const myRoles = await this.roleService.getUserRoles(user!.id); const policies = await this.roleService.getUserPolicies(user!.id); - if (!policies[ep.meta.requireRolePolicy]) { + if (!policies[ep.meta.requireRolePolicy] && !myRoles.some(r => r.isAdministrator)) { throw new ApiError({ message: 'You are not assigned to a required role.', code: 'ROLE_PERMISSION_DENIED',