summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--packages/backend/src/core/DriveService.ts2
-rw-r--r--packages/backend/test/e2e/endpoints.ts12
3 files changed, 14 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 474fcad674..7adeebb479 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -29,6 +29,7 @@
- Enhance: 連合先のレートリミットに引っかかった際にリトライするようになりました
- Enhance: ActivityPub Deliver queueでBodyを事前処理するように (#12916)
- Enhance: クリップをエクスポートできるように
+- Fix: `drive/files/update`でファイル名のバリデーションが機能していない問題を修正
## 2023.12.2
diff --git a/packages/backend/src/core/DriveService.ts b/packages/backend/src/core/DriveService.ts
index 04f0e38e6f..075bc9d7f7 100644
--- a/packages/backend/src/core/DriveService.ts
+++ b/packages/backend/src/core/DriveService.ts
@@ -655,7 +655,7 @@ export class DriveService {
public async updateFile(file: MiDriveFile, values: Partial<MiDriveFile>, updater: MiUser) {
const alwaysMarkNsfw = (await this.roleService.getUserPolicies(file.userId)).alwaysMarkNsfw;
- if (values.name && !this.driveFileEntityService.validateFileName(file.name)) {
+ if (values.name != null && !this.driveFileEntityService.validateFileName(values.name)) {
throw new DriveService.InvalidFileNameError();
}
diff --git a/packages/backend/test/e2e/endpoints.ts b/packages/backend/test/e2e/endpoints.ts
index bfd0b0272d..d75549c816 100644
--- a/packages/backend/test/e2e/endpoints.ts
+++ b/packages/backend/test/e2e/endpoints.ts
@@ -710,6 +710,18 @@ describe('Endpoints', () => {
assert.strictEqual(res.status, 400);
});
+ test('不正なファイル名で怒られる', async () => {
+ const file = (await uploadFile(alice)).body;
+ const newName = '';
+
+ const res = await api('/drive/files/update', {
+ fileId: file.id,
+ name: newName,
+ }, alice);
+
+ assert.strictEqual(res.status, 400);
+ });
+
test('間違ったIDで怒られる', async () => {
const res = await api('/drive/files/update', {
fileId: 'kyoppie',