From 28d2d38fce7012c6f9d48dc52a0bf2efd1e8c652 Mon Sep 17 00:00:00 2001
From: otofune <otofune@gmail.com>
Date: Tue, 14 Nov 2017 05:26:27 +0900
Subject: [PATCH] =?UTF-8?q?server=20-=20multer=E3=81=8C=E3=83=86=E3=83=B3?=
 =?UTF-8?q?=E3=83=9D=E3=83=A9=E3=83=AA=E3=83=87=E3=82=A3=E3=83=AC=E3=82=AF?=
 =?UTF-8?q?=E3=83=88=E3=83=AA=E3=81=AB=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?=
 =?UTF-8?q?=E3=82=92=E5=B1=95=E9=96=8B=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?=
 =?UTF-8?q?=E3=81=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

DiskStorageをオプション無しで呼ぶといい感じになる
またチェーンを改行するようにし、デバッグ表示にパスが出るようにした
---
 src/api/common/add-file-to-drive.ts | 27 ++++++++++++++-------------
 src/api/server.ts                   |  2 +-
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/src/api/common/add-file-to-drive.ts b/src/api/common/add-file-to-drive.ts
index 7defbc631..9ed5e8874 100644
--- a/src/api/common/add-file-to-drive.ts
+++ b/src/api/common/add-file-to-drive.ts
@@ -40,7 +40,7 @@ const addFile = async (
 	folderId: mongodb.ObjectID = null,
 	force: boolean = false
 ) => {
-	log(`registering ${name} (user: ${user.username})`);
+	log(`registering ${name} (user: ${user.username}, path: ${path})`);
 
 	// Calculate hash, get content type and get file size
 	const [hash, [mime, ext], size] = await Promise.all([
@@ -210,18 +210,19 @@ export default (user: any, file: string | stream.Readable, ...args) => new Promi
 				.catch(rej);
 		}
 		rej(new Error('un-compatible file.'));
-	}).then(([path, remove]): Promise<any> => new Promise((res, rej) => {
-		addFile(user, path, ...args)
-			.then(file => {
-				res(file);
-				if (remove) {
-					fs.unlink(path, (e) => {
-						if (e) log(e.stack);
-					});
-				}
-			})
-			.catch(rej);
-	}))
+	})
+		.then(([path, remove]): Promise<any> => new Promise((res, rej) => {
+			addFile(user, path, ...args)
+				.then(file => {
+					res(file);
+					if (remove) {
+						fs.unlink(path, (e) => {
+							if (e) log(e.stack);
+						});
+					}
+				})
+				.catch(rej);
+		}))
 		.then(file => {
 			log(`drive file has been created ${file._id}`);
 			resolve(file);
diff --git a/src/api/server.ts b/src/api/server.ts
index 3de32d9ea..026357b46 100644
--- a/src/api/server.ts
+++ b/src/api/server.ts
@@ -40,7 +40,7 @@ app.get('/', (req, res) => {
 endpoints.forEach(endpoint =>
 	endpoint.withFile ?
 		app.post(`/${endpoint.name}`,
-			endpoint.withFile ? multer({ dest: 'uploads/' }).single('file') : null,
+			endpoint.withFile ? multer({ storage: multer.diskStorage({}) }).single('file') : null,
 			require('./api-handler').default.bind(null, endpoint)) :
 		app.post(`/${endpoint.name}`,
 			require('./api-handler').default.bind(null, endpoint))