summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-09-24 16:24:13 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-09-24 16:24:13 +0900
commitcf573add270abd24768fb3acb345b8626fabde0b (patch)
treec7522881b30f379f55ba34a7aedfb35a4cdfb59e /packages/backend/src/server/api
parent2023.9.0-rc.4 (diff)
downloadsharkey-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.ts28
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;
});
}
}