summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/admin/drive
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-02-22 18:06:25 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-02-22 18:06:25 +0900
commit76583510419a7a21dfc3c43c9a6e29de791da0fa (patch)
tree07c05b0e5331256140becb55dc85928b6618e272 /packages/backend/src/server/api/endpoints/admin/drive
parentMerge branch 'develop' (diff)
parent13.7.0 (diff)
downloadmisskey-76583510419a7a21dfc3c43c9a6e29de791da0fa.tar.gz
misskey-76583510419a7a21dfc3c43c9a6e29de791da0fa.tar.bz2
misskey-76583510419a7a21dfc3c43c9a6e29de791da0fa.zip
Merge branch 'develop'
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin/drive')
-rw-r--r--packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/admin/drive/show-file.ts16
2 files changed, 13 insertions, 5 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts b/packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts
index 2cc4e70e55..a8964af449 100644
--- a/packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts
+++ b/packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts
@@ -1,4 +1,4 @@
-import { Inject, Injectable } from '@nestjs/common';
+import { Injectable } from '@nestjs/common';
import { Endpoint } from '@/server/api/endpoint-base.js';
import { QueueService } from '@/core/QueueService.js';
diff --git a/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts b/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts
index 6376cb153c..85b566aabe 100644
--- a/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts
+++ b/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts
@@ -1,5 +1,5 @@
import { Inject, Injectable } from '@nestjs/common';
-import type { DriveFilesRepository } from '@/models/index.js';
+import type { DriveFilesRepository, UsersRepository } from '@/models/index.js';
import { Endpoint } from '@/server/api/endpoint-base.js';
import { DI } from '@/di-symbols.js';
import { RoleService } from '@/core/RoleService.js';
@@ -161,6 +161,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
@Inject(DI.driveFilesRepository)
private driveFilesRepository: DriveFilesRepository,
+ @Inject(DI.usersRepository)
+ private usersRepository: UsersRepository,
+
private roleService: RoleService,
) {
super(meta, paramDef, async (ps, me) => {
@@ -178,7 +181,12 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
throw new ApiError(meta.errors.noSuchFile);
}
- const isModerator = await this.roleService.isModerator(me);
+ const owner = file.userId ? await this.usersRepository.findOneByOrFail({
+ id: file.userId,
+ }) : null;
+
+ const iAmModerator = await this.roleService.isModerator(me);
+ const ownerIsModerator = owner ? await this.roleService.isModerator(owner) : false;
return {
id: file.id,
@@ -207,8 +215,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
name: file.name,
md5: file.md5,
createdAt: file.createdAt.toISOString(),
- requestIp: isModerator ? file.requestIp : null,
- requestHeaders: isModerator ? file.requestHeaders : null,
+ requestIp: iAmModerator ? file.requestIp : null,
+ requestHeaders: iAmModerator && !ownerIsModerator ? file.requestHeaders : null,
};
});
}