summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/drive/files
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2025-08-09 14:25:31 +0900
committerGitHub <noreply@github.com>2025-08-09 14:25:31 +0900
commitb1b335d55a96764807c8ca2c2ec160e3573181ef (patch)
tree5444d0ce058a4c24613494b2ab87ea7bb07c541f /packages/backend/src/server/api/endpoints/drive/files
parentfix(deps): regenerate lockfile (#16384) (diff)
downloadmisskey-b1b335d55a96764807c8ca2c2ec160e3573181ef.tar.gz
misskey-b1b335d55a96764807c8ca2c2ec160e3573181ef.tar.bz2
misskey-b1b335d55a96764807c8ca2c2ec160e3573181ef.zip
fix: チャットの利用可否ポリシーの考慮漏れを修正 (#16259)
* fix: チャットの利用可否ポリシーの考慮漏れを修正 * :art:
Diffstat (limited to 'packages/backend/src/server/api/endpoints/drive/files')
-rw-r--r--packages/backend/src/server/api/endpoints/drive/files/attached-chat-messages.ts10
1 files changed, 9 insertions, 1 deletions
diff --git a/packages/backend/src/server/api/endpoints/drive/files/attached-chat-messages.ts b/packages/backend/src/server/api/endpoints/drive/files/attached-chat-messages.ts
index 5be477f468..b34ac4abd1 100644
--- a/packages/backend/src/server/api/endpoints/drive/files/attached-chat-messages.ts
+++ b/packages/backend/src/server/api/endpoints/drive/files/attached-chat-messages.ts
@@ -10,6 +10,7 @@ import { QueryService } from '@/core/QueryService.js';
import { DI } from '@/di-symbols.js';
import { RoleService } from '@/core/RoleService.js';
import { ChatEntityService } from '@/core/entities/ChatEntityService.js';
+import { ChatService } from '@/core/ChatService.js';
import { ApiError } from '../../../error.js';
export const meta = {
@@ -60,14 +61,21 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
@Inject(DI.chatMessagesRepository)
private chatMessagesRepository: ChatMessagesRepository,
+ private chatService: ChatService,
private chatEntityService: ChatEntityService,
private queryService: QueryService,
private roleService: RoleService,
) {
super(meta, paramDef, async (ps, me) => {
+ const isModerator = await this.roleService.isModerator(me);
+
+ if (!isModerator) {
+ await this.chatService.checkChatAvailability(me.id, 'read');
+ }
+
const file = await this.driveFilesRepository.findOneBy({
id: ps.fileId,
- userId: await this.roleService.isModerator(me) ? undefined : me.id,
+ userId: isModerator ? undefined : me.id,
});
if (file == null) {