From cf573add270abd24768fb3acb345b8626fabde0b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 24 Sep 2023 16:24:13 +0900 Subject: fix --- .../src/server/api/endpoints/drive/files/update.ts | 30 ++++++++++++++++------ 1 file changed, 22 insertions(+), 8 deletions(-) (limited to 'packages/backend/src/server/api/endpoints/drive') 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 c9e2d7464c..c01f3de03c 100644 --- a/packages/backend/src/server/api/endpoints/drive/files/update.ts +++ b/packages/backend/src/server/api/endpoints/drive/files/update.ts @@ -89,14 +89,28 @@ export default class extends Endpoint { // eslint- throw new ApiError(meta.errors.accessDenied); } - const fileObj = await this.driveService.update(file, { - folderId: ps.folderId, - name: ps.name, - isSensitive: ps.isSensitive, - comment: ps.comment, - }, me); - - return fileObj; + let packedFile; + + try { + packedFile = await this.driveService.updateFile(file, { + folderId: ps.folderId, + name: ps.name, + isSensitive: ps.isSensitive, + comment: ps.comment, + }, me); + } catch (e) { + if (e instanceof DriveService.InvalidFileNameError) { + throw new ApiError(meta.errors.invalidFileName); + } else if (e instanceof DriveService.NoSuchFolderError) { + throw new ApiError(meta.errors.noSuchFolder); + } else if (e instanceof DriveService.CannotUnmarkSensitiveError) { + throw new ApiError(meta.errors.restrictedByRole); + } else { + throw e; + } + } + + return packedFile; }); } } -- cgit v1.2.3-freya