summaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-04-18 14:53:17 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-04-18 14:53:17 +0900
commit772bc243af212730d917b8763e7f59687b00d38c (patch)
treeaadf64f5d646fff1d50f881172185ee06c5c9dda /src/services
parentFix #1473 (diff)
downloadmisskey-772bc243af212730d917b8763e7f59687b00d38c.tar.gz
misskey-772bc243af212730d917b8763e7f59687b00d38c.tar.bz2
misskey-772bc243af212730d917b8763e7f59687b00d38c.zip
:v:
Diffstat (limited to 'src/services')
-rw-r--r--src/services/note/create.ts14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/services/note/create.ts b/src/services/note/create.ts
index 391a3d7647..599126b861 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);