From 62b93a7245860a55f7f0def9dd4942711b13d1d9 Mon Sep 17 00:00:00 2001
From: Devin Alvaro <devin.alvaro@gmail.com>
Date: Tue, 21 Nov 2017 17:45:40 +0700
Subject: [PATCH] Add addChat() method to ChatData

---
 mongoose.js | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/mongoose.js b/mongoose.js
index 1ca2783..89803f9 100644
--- a/mongoose.js
+++ b/mongoose.js
@@ -12,4 +12,33 @@ class ChatData {
     })
     this.ChatModel = this.mongoose.model('Chat', this.chatSchema)
   }
+
+  addChat (senderId, receiverId, content) {
+    var participantIds = [ senderId, receiverId ]
+    participantIds.sort()
+
+    var chat = {
+      owner_id: senderId,
+      content: content
+    }
+
+    this.ChatModel.findOneAndUpdate(
+      { participant_ids: participantIds },
+      { $push: { chats: chat } }, (err, done) => {
+        if (err) {
+          console.error(err)
+        }
+        if (!done) {
+          var chat = new this.ChatModel({
+            participant_ids: participantIds,
+            chats: [{
+              owner_id: senderId,
+              content: content
+            }]
+          })
+
+          chat.save()
+        }
+      })
+  }
 }
-- 
GitLab