From 772bc243af212730d917b8763e7f59687b00d38c Mon Sep 17 00:00:00 2001
From: syuilo <syuilotan@yahoo.co.jp>
Date: Wed, 18 Apr 2018 14:53:17 +0900
Subject: [PATCH] :v:

---
 src/services/note/create.ts | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/services/note/create.ts b/src/services/note/create.ts
index 391a3d764..599126b86 100644
--- a/src/services/note/create.ts
+++ b/src/services/note/create.ts
@@ -1,3 +1,4 @@
+import { MongoError } from 'mongodb';
 import Note, { pack, INote } from '../../models/note';
 import User, { isLocalUser, IUser, isRemoteUser } from '../../models/user';
 import stream, { publishLocalTimelineStream, publishGlobalTimelineStream } from '../../publishers/stream';
@@ -85,7 +86,18 @@ export default async (user: IUser, data: {
 	if (data.uri != null) insert.uri = data.uri;
 
 	// 投稿を作成
-	const note = await Note.insert(insert);
+	let note: INote;
+	try {
+		note = await Note.insert(insert);
+	} catch (e) {
+		// duplicate key error
+		if (e instanceof MongoError && e.code === 11000) {
+			return res(null);
+		}
+
+		console.error(e);
+		return rej('something happened');
+	}
 
 	res(note);