diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-03-25 15:51:45 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-03-25 15:51:45 +0900 |
| commit | a01ae38a07f949cbcd5ce555cd90e8570bb985cc (patch) | |
| tree | 9227b0625a95a97ccf11970b479ac86b1f42a57b /packages/backend/src/server/api/endpoints | |
| parent | enhance: チャットルームに招待されたときの通知を追加 (diff) | |
| download | sharkey-a01ae38a07f949cbcd5ce555cd90e8570bb985cc.tar.gz sharkey-a01ae38a07f949cbcd5ce555cd90e8570bb985cc.tar.bz2 sharkey-a01ae38a07f949cbcd5ce555cd90e8570bb985cc.zip | |
enhance: モデレーターがチャットルームの内容を確認・削除できるように
Diffstat (limited to 'packages/backend/src/server/api/endpoints')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/chat/messages/room-timeline.ts | 2 | ||||
| -rw-r--r-- | packages/backend/src/server/api/endpoints/chat/rooms/delete.ts | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/packages/backend/src/server/api/endpoints/chat/messages/room-timeline.ts b/packages/backend/src/server/api/endpoints/chat/messages/room-timeline.ts index ccc0030403..7aef35db04 100644 --- a/packages/backend/src/server/api/endpoints/chat/messages/room-timeline.ts +++ b/packages/backend/src/server/api/endpoints/chat/messages/room-timeline.ts @@ -59,7 +59,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- throw new ApiError(meta.errors.noSuchRoom); } - if (!(await this.chatService.isRoomMember(room, me.id))) { + if (!await this.chatService.hasPermissionToViewRoomTimeline(me.id, room)) { throw new ApiError(meta.errors.noSuchRoom); } diff --git a/packages/backend/src/server/api/endpoints/chat/rooms/delete.ts b/packages/backend/src/server/api/endpoints/chat/rooms/delete.ts index 2ef0a778f1..1d77a06dd8 100644 --- a/packages/backend/src/server/api/endpoints/chat/rooms/delete.ts +++ b/packages/backend/src/server/api/endpoints/chat/rooms/delete.ts @@ -42,11 +42,16 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- private chatService: ChatService, ) { super(meta, paramDef, async (ps, me) => { - const room = await this.chatService.findMyRoomById(me.id, ps.roomId); + const room = await this.chatService.findRoomById(ps.roomId); if (room == null) { throw new ApiError(meta.errors.noSuchRoom); } - await this.chatService.deleteRoom(room); + + if (!await this.chatService.hasPermissionToDeleteRoom(me.id, room)) { + throw new ApiError(meta.errors.noSuchRoom); + } + + await this.chatService.deleteRoom(room, me); }); } } |