From 9c4a789a4e7c34602c132086e7d9b3e85dd5d06d Mon Sep 17 00:00:00 2001
From: MeiMei <30769358+mei23@users.noreply.github.com>
Date: Thu, 4 Jun 2020 08:59:03 +0900
Subject: [PATCH] Use insert for creating Note (#6440)

---
 src/services/note/create.ts | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/services/note/create.ts b/src/services/note/create.ts
index 60a62dcdff..7b5e6a92ba 100644
--- a/src/services/note/create.ts
+++ b/src/services/note/create.ts
@@ -433,30 +433,29 @@ async function insertNote(user: User, data: Option, tags: string[], emojis: stri
 
 	// 投稿を作成
 	try {
-		let note: Note;
 		if (insert.hasPoll) {
 			// Start transaction
 			await getConnection().transaction(async transactionalEntityManager => {
-				note = await transactionalEntityManager.save(insert);
+				await transactionalEntityManager.insert(Note, insert);
 
 				const poll = new Poll({
-					noteId: note.id,
+					noteId: insert.id,
 					choices: data.poll!.choices,
 					expiresAt: data.poll!.expiresAt,
 					multiple: data.poll!.multiple,
 					votes: new Array(data.poll!.choices.length).fill(0),
-					noteVisibility: note.visibility,
+					noteVisibility: insert.visibility,
 					userId: user.id,
 					userHost: user.host
 				});
 
-				await transactionalEntityManager.save(poll);
+				await transactionalEntityManager.insert(Poll, poll);
 			});
 		} else {
-			note = await Notes.save(insert);
+			await Notes.insert(insert);
 		}
 
-		return note!;
+		return await Notes.findOneOrFail(insert.id);
 	} catch (e) {
 		// duplicate key error
 		if (isDuplicateKeyValueError(e)) {
@@ -467,7 +466,7 @@ async function insertNote(user: User, data: Option, tags: string[], emojis: stri
 
 		console.error(e);
 
-		throw new Error('something happened');
+		throw e;
 	}
 }
 
-- 
GitLab