From 1744316656f742dddc6f314aa8bc3289714f1311 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 16 Jul 2018 03:43:36 +0900 Subject: 良い感じに MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/api/endpoints/drive/files/create.ts | 40 ++++++++++++++++++++++---- src/server/api/endpoints/notes/create.ts | 2 -- 2 files changed, 35 insertions(+), 7 deletions(-) (limited to 'src/server/api/endpoints') diff --git a/src/server/api/endpoints/drive/files/create.ts b/src/server/api/endpoints/drive/files/create.ts index 401ec23d82..c5eb29e1af 100644 --- a/src/server/api/endpoints/drive/files/create.ts +++ b/src/server/api/endpoints/drive/files/create.ts @@ -1,8 +1,36 @@ import * as fs from 'fs'; +const ms = require('ms'); import $ from 'cafy'; import ID 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'; + +export const meta = { + desc: { + ja: 'ドライブにファイルをアップロードします。' + }, + + requireCredential: true, + + limit: { + duration: ms('1hour'), + max: 100 + }, + + withFile: true, + + kind: 'drive-write', + + params: { + folderId: $.type(ID).optional.nullable.note({ + default: null, + desc: { + ja: 'フォルダID' + } + }) + } +}; /** * Create a file @@ -27,17 +55,19 @@ export default async (file: any, params: any, user: ILocalUser): Promise => name = null; } - // Get 'folderId' parameter - const [folderId = null, folderIdErr] = $.type(ID).optional.nullable.get(params.folderId); - if (folderIdErr) throw 'invalid folderId param'; - 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, folderId); + const driveFile = await create(user, file.path, name, null, ps.folderId); cleanup(); diff --git a/src/server/api/endpoints/notes/create.ts b/src/server/api/endpoints/notes/create.ts index 7125d02de9..66d018618c 100644 --- a/src/server/api/endpoints/notes/create.ts +++ b/src/server/api/endpoints/notes/create.ts @@ -8,8 +8,6 @@ import { IApp } from '../../../../models/app'; import getParams from '../../get-params'; export const meta = { - name: 'notes/create', - desc: { ja: '投稿します。' }, -- cgit v1.2.3-freya