diff options
| author | nenohi <kimutipartylove@gmail.com> | 2023-05-05 14:18:06 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-05 14:18:06 +0900 |
| commit | 2d84e042405322fc7f9dd5955f9d72f59cdb3a81 (patch) | |
| tree | 4fc0725045c36b6937c49e363f17be7758c36b64 /packages/backend/src/server/api/endpoints/drive | |
| parent | Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff) | |
| download | sharkey-2d84e042405322fc7f9dd5955f9d72f59cdb3a81.tar.gz sharkey-2d84e042405322fc7f9dd5955f9d72f59cdb3a81.tar.bz2 sharkey-2d84e042405322fc7f9dd5955f9d72f59cdb3a81.zip | |
ロールにNSFWを強制的につけるオプションを追加 (#10731)
* ロールにNSFWを強制的につけるオプションを追加
* すでにあるファイルにNSFWが付与できない
* NSFWを付与しようとするとエラーに
* add test
* Update packages/backend/src/core/RoleService.ts
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* spacingで怒られたので
* ロール作成時のプロパティ削除
---------
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/drive')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/drive/files/update.ts | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/packages/backend/src/server/api/endpoints/drive/files/update.ts b/packages/backend/src/server/api/endpoints/drive/files/update.ts index 3141e0fc01..3ecbba22b5 100644 --- a/packages/backend/src/server/api/endpoints/drive/files/update.ts +++ b/packages/backend/src/server/api/endpoints/drive/files/update.ts @@ -40,8 +40,13 @@ export const meta = { code: 'NO_SUCH_FOLDER', id: 'ea8fb7a5-af77-4a08-b608-c0218176cd73', }, + + restrictedByRole: { + message: 'This feature is restricted by your role.', + code: 'RESTRICTED_BY_ROLE', + id: '7f59dccb-f465-75ab-5cf4-3ce44e3282f7', + }, }, - res: { type: 'object', optional: false, nullable: false, @@ -77,7 +82,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { ) { super(meta, paramDef, async (ps, me) => { const file = await this.driveFilesRepository.findOneBy({ id: ps.fileId }); - + const alwaysMarkNsfw = (await this.roleService.getUserPolicies(me.id)).alwaysMarkNsfw; if (file == null) { throw new ApiError(meta.errors.noSuchFile); } @@ -93,6 +98,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { if (ps.comment !== undefined) file.comment = ps.comment; + if (ps.isSensitive !== undefined && ps.isSensitive !== file.isSensitive && alwaysMarkNsfw && !ps.isSensitive) { + throw new ApiError(meta.errors.restrictedByRole); + } + if (ps.isSensitive !== undefined) file.isSensitive = ps.isSensitive; if (ps.folderId !== undefined) { |