summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-05-25 18:41:49 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-05-25 18:41:49 +0900
commitbd434ed02dd69b4a120de5a727a3e5d321f3cbfe (patch)
treee83ad93481d5253b2c911de6b5d7d9dc2167a075 /src/server/api/endpoints
parentUpdate welcome.vue (diff)
downloadsharkey-bd434ed02dd69b4a120de5a727a3e5d321f3cbfe.tar.gz
sharkey-bd434ed02dd69b4a120de5a727a3e5d321f3cbfe.tar.bz2
sharkey-bd434ed02dd69b4a120de5a727a3e5d321f3cbfe.zip
Refactor and some fixes
Diffstat (limited to 'src/server/api/endpoints')
-rw-r--r--src/server/api/endpoints/drive/files/create.ts9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/api/endpoints/drive/files/create.ts b/src/server/api/endpoints/drive/files/create.ts
index e9348e4e2f..dd748d6bba 100644
--- a/src/server/api/endpoints/drive/files/create.ts
+++ b/src/server/api/endpoints/drive/files/create.ts
@@ -1,6 +1,7 @@
/**
* Module dependencies
*/
+import * as fs from 'fs';
import $ from 'cafy'; import ID from '../../../../../cafy-id';
import { validateFileName, pack } from '../../../../../models/drive-file';
import create from '../../../../../services/drive/add-file';
@@ -32,15 +33,23 @@ module.exports = async (file, params, user): Promise<any> => {
const [folderId = null, folderIdErr] = $.type(ID).optional().nullable().get(params.folderId);
if (folderIdErr) throw 'invalid folderId param';
+ function cleanup() {
+ fs.unlink(file.path, () => {});
+ }
+
try {
// Create file
const driveFile = await create(user, file.path, name, null, folderId);
+ cleanup();
+
// Serialize
return pack(driveFile);
} catch (e) {
console.error(e);
+ cleanup();
+
throw e;
}
};