diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-09-24 16:24:13 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-09-24 16:24:13 +0900 |
| commit | cf573add270abd24768fb3acb345b8626fabde0b (patch) | |
| tree | c7522881b30f379f55ba34a7aedfb35a4cdfb59e /packages/backend/src/server/api | |
| parent | 2023.9.0-rc.4 (diff) | |
| download | sharkey-cf573add270abd24768fb3acb345b8626fabde0b.tar.gz sharkey-cf573add270abd24768fb3acb345b8626fabde0b.tar.bz2 sharkey-cf573add270abd24768fb3acb345b8626fabde0b.zip | |
fix
Diffstat (limited to 'packages/backend/src/server/api')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/drive/files/update.ts | 28 |
1 files changed, 21 insertions, 7 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 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<typeof meta, typeof paramDef> { // 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); + let packedFile; - return fileObj; + 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; }); } } |