From 10ff379b4c916071d93403389a2f38d6e504768b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 6 May 2023 09:51:06 +0900 Subject: [PATCH] =?UTF-8?q?enhance(backend/frontend):=20=E3=83=A2=E3=83=87?= =?UTF-8?q?=E3=83=AC=E3=83=BC=E3=82=B7=E3=83=A7=E3=83=B3=E3=83=8E=E3=83=BC?= =?UTF-8?q?=E3=83=88=E3=82=92=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC=E3=81=AE?= =?UTF-8?q?=E3=83=97=E3=83=AD=E3=83=95=E3=82=A3=E3=83=BC=E3=83=AB=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=81=8B=E3=82=89=E3=82=82=E9=96=B2=E8=A6=A7?= =?UTF-8?q?=E3=81=8A=E3=82=88=E3=81=B3=E7=B7=A8=E9=9B=86=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../src/core/entities/UserEntityService.ts | 4 ++- packages/frontend/src/pages/user/home.vue | 36 ++++++++++++++----- 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4eb64413..3c3b9f289 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ * デフォルトがオフになるので、ロールタイムラインを表示する場合はオンにしてください。 - ロールに強制的にNSFWを付与するポリシーを追加 * アップロード済みのファイルはNSFWにならない為注意してください。 +- モデレーションノートがユーザーのプロフィールページからも閲覧および編集できるようになりました。 - カスタム絵文字のライセンスを複数でセットできるようになりました。 - 管理者が予約ユーザー名を設定できるようになりました。 - Fix: フォローリクエストの通知が残る問題を修正 diff --git a/packages/backend/src/core/entities/UserEntityService.ts b/packages/backend/src/core/entities/UserEntityService.ts index 1bb065326..562fc5c1e 100644 --- a/packages/backend/src/core/entities/UserEntityService.ts +++ b/packages/backend/src/core/entities/UserEntityService.ts @@ -292,7 +292,7 @@ export class UserEntityService implements OnModuleInit { public async pack( src: User['id'] | User, - me?: { id: User['id'] } | null | undefined, + me?: { id: User['id']; isRoot: boolean; } | null | undefined, options?: { detail?: D, includeSecrets?: boolean, @@ -308,6 +308,7 @@ export class UserEntityService implements OnModuleInit { const meId = me ? me.id : null; const isMe = meId === user.id; + const iAmModerator = me ? await this.roleService.isModerator(me) : false; const relation = meId && !isMe && opts.detail ? await this.getRelation(meId, user.id) : null; const pins = opts.detail ? await this.userNotePiningsRepository.createQueryBuilder('pin') @@ -411,6 +412,7 @@ export class UserEntityService implements OnModuleInit { userId: meId, targetUserId: user.id, }).then(row => row?.memo ?? null), + moderationNote: iAmModerator ? profile!.moderationNote : null, } : {}), ...(opts.detail && isMe ? { diff --git a/packages/frontend/src/pages/user/home.vue b/packages/frontend/src/pages/user/home.vue index 57063c92d..9a52c3155 100644 --- a/packages/frontend/src/pages/user/home.vue +++ b/packages/frontend/src/pages/user/home.vue @@ -7,7 +7,7 @@
- +
@@ -42,6 +42,17 @@
+
+ + + {{ role.name }} + +
+
+ + + +