fix(backend): 管理者権限のロールを持っていても一部のAPIが使用できないことがある問題を修正
This commit is contained in:
parent
e5598da7a2
commit
4a7c6e261a
|
@ -31,6 +31,7 @@
|
||||||
- Enhance: ストリーミングAPIのパフォーマンスを向上
|
- Enhance: ストリーミングAPIのパフォーマンスを向上
|
||||||
- Fix: users/notesでDBから参照した際にチャンネル投稿のみ取得される問題を修正
|
- Fix: users/notesでDBから参照した際にチャンネル投稿のみ取得される問題を修正
|
||||||
- Fix: コントロールパネルの設定項目が正しく保存できない問題を修正
|
- Fix: コントロールパネルの設定項目が正しく保存できない問題を修正
|
||||||
|
- Fix: 管理者権限のロールを持っていても一部のAPIが使用できないことがある問題を修正
|
||||||
- Change: ユーザーのisCatがtrueでも、サーバーではnyaizeが行われなくなりました
|
- Change: ユーザーのisCatがtrueでも、サーバーではnyaizeが行われなくなりました
|
||||||
- isCatな場合、クライアントでnyaize処理を行うことを推奨します
|
- isCatな場合、クライアントでnyaize処理を行うことを推奨します
|
||||||
|
|
||||||
|
|
|
@ -318,8 +318,9 @@ export class ApiCallService implements OnApplicationShutdown {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ep.meta.requireRolePolicy != null && !user!.isRoot) {
|
if (ep.meta.requireRolePolicy != null && !user!.isRoot) {
|
||||||
|
const myRoles = await this.roleService.getUserRoles(user!.id);
|
||||||
const policies = await this.roleService.getUserPolicies(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({
|
throw new ApiError({
|
||||||
message: 'You are not assigned to a required role.',
|
message: 'You are not assigned to a required role.',
|
||||||
code: 'ROLE_PERMISSION_DENIED',
|
code: 'ROLE_PERMISSION_DENIED',
|
||||||
|
|
Loading…
Reference in New Issue