summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-10-04 19:55:35 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-10-04 19:55:35 +0900
commit0dbf5175dfea04a9405985faa1d18f8383b58cac (patch)
treea8ba314f1cb05477477c5c166b8800f2d7dfff28
parentperf(backend): delete useless indexes (diff)
downloadmisskey-0dbf5175dfea04a9405985faa1d18f8383b58cac.tar.gz
misskey-0dbf5175dfea04a9405985faa1d18f8383b58cac.tar.bz2
misskey-0dbf5175dfea04a9405985faa1d18f8383b58cac.zip
enhance: improve moderation log
-rw-r--r--CHANGELOG.md2
-rw-r--r--packages/backend/src/core/AnnouncementService.ts4
-rw-r--r--packages/backend/src/types.ts3
-rw-r--r--packages/frontend/src/pages/admin/modlog.ModLog.vue14
-rw-r--r--packages/misskey-js/src/consts.ts3
5 files changed, 26 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5e525ace6a..6959c8577c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -25,6 +25,8 @@
- Feat: ユーザーごとに他ユーザーへの返信をタイムラインに含めるか設定可能になりました
- Feat: ユーザーリスト内のメンバーごとに他ユーザーへの返信をユーザーリストタイムラインに含めるか設定可能になりました
- Enhance: ソフトワードミュートとハードワードミュートは統合されました
+- Enhance: モデレーションログ機能の強化
+- Enhance: ローカリゼーションの更新
### Client
- Enhance: 二要素認証のバックアップコード一覧をテキストファイルでダウンロード可能に
diff --git a/packages/backend/src/core/AnnouncementService.ts b/packages/backend/src/core/AnnouncementService.ts
index ddacc0936f..a5330db53f 100644
--- a/packages/backend/src/core/AnnouncementService.ts
+++ b/packages/backend/src/core/AnnouncementService.ts
@@ -158,9 +158,13 @@ export class AnnouncementService {
if (moderator) {
if (announcement.userId) {
+ const user = await this.usersRepository.findOneByOrFail({ id: announcement.userId });
this.moderationLogService.log(moderator, 'deleteUserAnnouncement', {
announcementId: announcement.id,
announcement: announcement,
+ userId: announcement.userId,
+ userUsername: user.username,
+ userHost: user.host,
});
} else {
this.moderationLogService.log(moderator, 'deleteGlobalAnnouncement', {
diff --git a/packages/backend/src/types.ts b/packages/backend/src/types.ts
index a9b9a55bc0..316073c992 100644
--- a/packages/backend/src/types.ts
+++ b/packages/backend/src/types.ts
@@ -171,6 +171,9 @@ export type ModerationLogPayloads = {
deleteUserAnnouncement: {
announcementId: string;
announcement: any;
+ userId: string;
+ userUsername: string;
+ userHost: string | null;
};
resetPassword: {
userId: string;
diff --git a/packages/frontend/src/pages/admin/modlog.ModLog.vue b/packages/frontend/src/pages/admin/modlog.ModLog.vue
index 66561c969e..0af226f02e 100644
--- a/packages/frontend/src/pages/admin/modlog.ModLog.vue
+++ b/packages/frontend/src/pages/admin/modlog.ModLog.vue
@@ -29,8 +29,12 @@ SPDX-License-Identifier: AGPL-3.0-only
<span v-else-if="log.type === 'unmarkSensitiveDriveFile'">: @{{ log.info.fileUserUsername }}{{ log.info.fileUserHost ? '@' + log.info.fileUserHost : '' }}</span>
<span v-else-if="log.type === 'suspendRemoteInstance'">: {{ log.info.host }}</span>
<span v-else-if="log.type === 'unsuspendRemoteInstance'">: {{ log.info.host }}</span>
+ <span v-else-if="log.type === 'createGlobalAnnouncement'">: {{ log.info.announcement.title }}</span>
+ <span v-else-if="log.type === 'updateGlobalAnnouncement'">: {{ log.info.before.title }}</span>
+ <span v-else-if="log.type === 'deleteGlobalAnnouncement'">: {{ log.info.announcement.title }}</span>
<span v-else-if="log.type === 'createUserAnnouncement'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
<span v-else-if="log.type === 'updateUserAnnouncement'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
+ <span v-else-if="log.type === 'deleteUserAnnouncement'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span>
<span v-else-if="log.type === 'deleteNote'">: @{{ log.info.noteUserUsername }}{{ log.info.noteUserHost ? '@' + log.info.noteUserHost : '' }}</span>
<span v-else-if="log.type === 'deleteDriveFile'">: @{{ log.info.fileUserUsername }}{{ log.info.fileUserHost ? '@' + log.info.fileUserHost : '' }}</span>
</template>
@@ -88,6 +92,16 @@ SPDX-License-Identifier: AGPL-3.0-only
<CodeDiff :context="5" :hideHeader="true" :oldString="JSON5.stringify(log.info.before, null, '\t')" :newString="JSON5.stringify(log.info.after, null, '\t')" language="javascript" maxHeight="300px"/>
</div>
</template>
+ <template v-else-if="log.type === 'updateGlobalAnnouncement'">
+ <div :class="$style.diff">
+ <CodeDiff :context="5" :hideHeader="true" :oldString="JSON5.stringify(log.info.before, null, '\t')" :newString="JSON5.stringify(log.info.after, null, '\t')" language="javascript" maxHeight="300px"/>
+ </div>
+ </template>
+ <template v-else-if="log.type === 'updateUserAnnouncement'">
+ <div :class="$style.diff">
+ <CodeDiff :context="5" :hideHeader="true" :oldString="JSON5.stringify(log.info.before, null, '\t')" :newString="JSON5.stringify(log.info.after, null, '\t')" language="javascript" maxHeight="300px"/>
+ </div>
+ </template>
<details>
<summary>raw</summary>
diff --git a/packages/misskey-js/src/consts.ts b/packages/misskey-js/src/consts.ts
index 271a64274f..ccc55537d2 100644
--- a/packages/misskey-js/src/consts.ts
+++ b/packages/misskey-js/src/consts.ts
@@ -189,6 +189,9 @@ export type ModerationLogPayloads = {
deleteUserAnnouncement: {
announcementId: string;
announcement: any;
+ userId: string;
+ userUsername: string;
+ userHost: string | null;
};
resetPassword: {
userId: string;