update to Webpack 5
Change-Id: Icc238a9f981ecaf5c5802c9a3a4f0bcb89e7d42b
diff --git a/model/Conversation.js b/model/Conversation.js
new file mode 100644
index 0000000..d5c41de
--- /dev/null
+++ b/model/Conversation.js
@@ -0,0 +1,42 @@
+class Conversation {
+ constructor(id, members) {
+ this.id = id
+ this.members = members
+ this.messages = []
+ }
+
+ static from(object) {
+ return new Conversation(object.id, object.members)
+ }
+
+ getId() { return this.id }
+
+ getDisplayName() {
+ return this.details["Account.displayName"] || this.getDisplayUri()
+ }
+
+ getUri() { return this.details["Account.username"] }
+
+ getRegisteredName() { return this.volatileDetails["Account.registeredName"] }
+
+ getObject() {
+ return {
+ id: this.id,
+ members: this.members
+ }
+ }
+
+ getSummary() {
+ return this.getObject()
+ }
+
+ getDisplayUri() {
+ return this.getRegisteredName() || this.getUri()
+ }
+
+ addMessage(message) {
+ this.messages.push(message)
+ }
+}
+
+module.exports = Conversation;