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 | |
| 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')
| -rw-r--r-- | src/server/api/endpoints/drive/files/attached_notes.ts | 10 | ||||
| -rw-r--r-- | src/server/api/endpoints/drive/files/check_existence.ts | 10 | ||||
| -rw-r--r-- | src/server/api/endpoints/drive/files/create.ts | 29 | ||||
| -rw-r--r-- | src/server/api/endpoints/drive/files/delete.ts | 10 | ||||
| -rw-r--r-- | src/server/api/endpoints/drive/files/find.ts | 10 | ||||
| -rw-r--r-- | src/server/api/endpoints/drive/files/show.ts | 10 | ||||
| -rw-r--r-- | src/server/api/endpoints/drive/files/update.ts | 10 | ||||
| -rw-r--r-- | src/server/api/endpoints/drive/files/upload_from_url.ts | 11 |
8 files changed, 28 insertions, 72 deletions
diff --git a/src/server/api/endpoints/drive/files/attached_notes.ts b/src/server/api/endpoints/drive/files/attached_notes.ts index ad9a2370b1..ec5acbd751 100644 --- a/src/server/api/endpoints/drive/files/attached_notes.ts +++ b/src/server/api/endpoints/drive/files/attached_notes.ts @@ -1,7 +1,6 @@ import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id'; import DriveFile from '../../../../../models/drive-file'; -import { ILocalUser } from '../../../../../models/user'; -import getParams from '../../../get-params'; +import define from '../../../define'; import { packMany } from '../../../../../models/note'; export const meta = { @@ -28,10 +27,7 @@ export const meta = { } }; -export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { - const [ps, psErr] = getParams(meta, params); - if (psErr) return rej(psErr); - +export default define(meta, (ps, user) => new Promise(async (res, rej) => { // Fetch file const file = await DriveFile .findOne({ @@ -47,4 +43,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) = res(await packMany(file.metadata.attachedNoteIds || [], user, { detail: true })); -}); +})); diff --git a/src/server/api/endpoints/drive/files/check_existence.ts b/src/server/api/endpoints/drive/files/check_existence.ts index a5bdad5fb9..d3ba4b386d 100644 --- a/src/server/api/endpoints/drive/files/check_existence.ts +++ b/src/server/api/endpoints/drive/files/check_existence.ts @@ -1,7 +1,6 @@ import $ from 'cafy'; import DriveFile, { pack } from '../../../../../models/drive-file'; -import { ILocalUser } from '../../../../../models/user'; -import getParams from '../../../get-params'; +import define from '../../../define'; export const meta = { desc: { @@ -23,10 +22,7 @@ export const meta = { } }; -export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { - const [ps, psErr] = getParams(meta, params); - if (psErr) return rej(psErr); - +export default define(meta, (ps, user) => new Promise(async (res, rej) => { const file = await DriveFile.findOne({ md5: ps.md5, 'metadata.userId': user._id, @@ -38,4 +34,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) = } else { res({ file: await pack(file) }); } -}); +})); 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); } -}; +})); diff --git a/src/server/api/endpoints/drive/files/delete.ts b/src/server/api/endpoints/drive/files/delete.ts index af7e192655..7367c8fbb6 100644 --- a/src/server/api/endpoints/drive/files/delete.ts +++ b/src/server/api/endpoints/drive/files/delete.ts @@ -2,8 +2,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id import DriveFile from '../../../../../models/drive-file'; import del from '../../../../../services/drive/delete-file'; import { publishDriveStream } from '../../../../../stream'; -import { ILocalUser } from '../../../../../models/user'; -import getParams from '../../../get-params'; +import define from '../../../define'; export const meta = { stability: 'stable', @@ -29,10 +28,7 @@ export const meta = { } }; -export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { - const [ps, psErr] = getParams(meta, params); - if (psErr) return rej(psErr); - +export default define(meta, (ps, user) => new Promise(async (res, rej) => { // Fetch file const file = await DriveFile .findOne({ @@ -51,4 +47,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) = publishDriveStream(user._id, 'fileDeleted', file._id); res(); -}); +})); diff --git a/src/server/api/endpoints/drive/files/find.ts b/src/server/api/endpoints/drive/files/find.ts index 0ac110c110..1f9c3de1cf 100644 --- a/src/server/api/endpoints/drive/files/find.ts +++ b/src/server/api/endpoints/drive/files/find.ts @@ -1,7 +1,6 @@ import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id'; import DriveFile, { pack } from '../../../../../models/drive-file'; -import { ILocalUser } from '../../../../../models/user'; -import getParams from '../../../get-params'; +import define from '../../../define'; export const meta = { requireCredential: true, @@ -24,10 +23,7 @@ export const meta = { } }; -export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { - const [ps, psErr] = getParams(meta, params); - if (psErr) return rej(psErr); - +export default define(meta, (ps, user) => new Promise(async (res, rej) => { const files = await DriveFile .find({ filename: name, @@ -36,4 +32,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) = }); res(await Promise.all(files.map(file => pack(file)))); -}); +})); diff --git a/src/server/api/endpoints/drive/files/show.ts b/src/server/api/endpoints/drive/files/show.ts index ce0812c508..450a97065b 100644 --- a/src/server/api/endpoints/drive/files/show.ts +++ b/src/server/api/endpoints/drive/files/show.ts @@ -1,7 +1,6 @@ import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id'; import DriveFile, { pack } from '../../../../../models/drive-file'; -import { ILocalUser } from '../../../../../models/user'; -import getParams from '../../../get-params'; +import define from '../../../define'; export const meta = { stability: 'stable', @@ -27,10 +26,7 @@ export const meta = { } }; -export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { - const [ps, psErr] = getParams(meta, params); - if (psErr) return rej(psErr); - +export default define(meta, (ps, user) => new Promise(async (res, rej) => { // Fetch file const file = await DriveFile .findOne({ @@ -49,4 +45,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) = }); res(_file); -}); +})); diff --git a/src/server/api/endpoints/drive/files/update.ts b/src/server/api/endpoints/drive/files/update.ts index 7c335e5bc6..4efec3dc2a 100644 --- a/src/server/api/endpoints/drive/files/update.ts +++ b/src/server/api/endpoints/drive/files/update.ts @@ -2,8 +2,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id import DriveFolder from '../../../../../models/drive-folder'; import DriveFile, { validateFileName, pack } from '../../../../../models/drive-file'; import { publishDriveStream } from '../../../../../stream'; -import { ILocalUser } from '../../../../../models/user'; -import getParams from '../../../get-params'; +import define from '../../../define'; import Note from '../../../../../models/note'; export const meta = { @@ -54,10 +53,7 @@ export const meta = { } }; -export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { - const [ps, psErr] = getParams(meta, params); - if (psErr) return rej(psErr); - +export default define(meta, (ps, user) => new Promise(async (res, rej) => { // Fetch file const file = await DriveFile .findOne({ @@ -122,4 +118,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) = // Publish fileUpdated event publishDriveStream(user._id, 'fileUpdated', fileObj); -}); +})); diff --git a/src/server/api/endpoints/drive/files/upload_from_url.ts b/src/server/api/endpoints/drive/files/upload_from_url.ts index 3d19725275..35309d623e 100644 --- a/src/server/api/endpoints/drive/files/upload_from_url.ts +++ b/src/server/api/endpoints/drive/files/upload_from_url.ts @@ -3,7 +3,7 @@ const ms = require('ms'); import { pack } from '../../../../../models/drive-file'; import uploadFromUrl from '../../../../../services/drive/upload-from-url'; import { ILocalUser } from '../../../../../models/user'; -import getParams from '../../../get-params'; +import define from '../../../define'; export const meta = { desc: { @@ -33,9 +33,6 @@ export const meta = { } }; -export default async (params: any, user: ILocalUser): Promise<any> => { - const [ps, psErr] = getParams(meta, params); - if (psErr) throw psErr; - - return pack(await uploadFromUrl(ps.url, user, ps.folderId)); -}; +export default define(meta, (ps, user) => new Promise(async (res, rej) => { + res(pack(await uploadFromUrl(ps.url, user, ps.folderId))); +})); |