diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2018-05-26 12:35:14 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-05-26 12:35:14 +0900 |
| commit | bc9487822529b260fbdc9a8dcca35c3da25db04e (patch) | |
| tree | d5fd0dffb95e03b95df8e98692305d75f855e645 /src/server/api/endpoints/drive | |
| parent | New translations ja.yml (Portuguese) (diff) | |
| parent | Merge pull request #1649 from l2dy/i18n (diff) | |
| download | misskey-bc9487822529b260fbdc9a8dcca35c3da25db04e.tar.gz misskey-bc9487822529b260fbdc9a8dcca35c3da25db04e.tar.bz2 misskey-bc9487822529b260fbdc9a8dcca35c3da25db04e.zip | |
Merge branch 'master' into l10n_master
Diffstat (limited to 'src/server/api/endpoints/drive')
| -rw-r--r-- | src/server/api/endpoints/drive/files/create.ts | 9 |
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; } }; |