diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-11-02 13:47:44 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-11-02 13:47:44 +0900 |
| commit | 174f8022eb5828db3e9af01afcf72fe7526c4c57 (patch) | |
| tree | 3fab406b94f4244cf5330cf985a8eb518a1e027f /src/server/api/endpoints/drive/files/create.ts | |
| parent | Better index (diff) | |
| download | sharkey-174f8022eb5828db3e9af01afcf72fe7526c4c57.tar.gz sharkey-174f8022eb5828db3e9af01afcf72fe7526c4c57.tar.bz2 sharkey-174f8022eb5828db3e9af01afcf72fe7526c4c57.zip | |
Refactor
Diffstat (limited to 'src/server/api/endpoints/drive/files/create.ts')
| -rw-r--r-- | src/server/api/endpoints/drive/files/create.ts | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/src/server/api/endpoints/drive/files/create.ts b/src/server/api/endpoints/drive/files/create.ts index 2653eba655..3c334a7c1f 100644 --- a/src/server/api/endpoints/drive/files/create.ts +++ b/src/server/api/endpoints/drive/files/create.ts @@ -1,10 +1,8 @@ -import * as fs from 'fs'; const ms = require('ms'); import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id'; import { validateFileName, pack } from '../../../../../models/drive-file'; import create from '../../../../../services/drive/add-file'; -import { ILocalUser } from '../../../../../models/user'; -import getParams from '../../../get-params'; +import define from '../../../define'; export const meta = { desc: { @@ -52,11 +50,7 @@ export const meta = { } }; -export default async (file: any, params: any, user: ILocalUser): Promise<any> => { - if (file == null) { - throw 'file is required'; - } - +export default define(meta, (ps, user, app, file, cleanup) => new Promise(async (res, rej) => { // Get 'name' parameter let name = file.originalname; if (name !== undefined && name !== null) { @@ -66,35 +60,24 @@ export default async (file: any, params: any, user: ILocalUser): Promise<any> => } else if (name === 'blob') { name = null; } else if (!validateFileName(name)) { - throw 'invalid name'; + return rej('invalid name'); } } else { name = null; } - function cleanup() { - fs.unlink(file.path, () => {}); - } - - const [ps, psErr] = getParams(meta, params); - if (psErr) { - cleanup(); - throw psErr; - } - try { // Create file const driveFile = await create(user, file.path, name, null, ps.folderId, ps.force, false, null, null, ps.isSensitive); cleanup(); - // Serialize - return pack(driveFile); + res(pack(driveFile)); } catch (e) { console.error(e); cleanup(); - throw e; + rej(e); } -}; +})); |