blob: 80462196cd0c344a86318dc71cf8a9897e3d4b44 [file] [log] [blame]
Adrien Béraudc4dd44a2021-04-08 01:05:24 -04001class Conversation {
2 constructor(id, members) {
3 this.id = id
Adrien Béraud995e8022021-04-08 13:46:51 -04004 this.members = members || []
Adrien Béraudc4dd44a2021-04-08 01:05:24 -04005 this.messages = []
6 }
7
8 static from(object) {
9 return new Conversation(object.id, object.members)
10 }
11
12 getId() { return this.id }
13
14 getDisplayName() {
Adrien Béraud995e8022021-04-08 13:46:51 -040015 if (this.members.length !== 0) {
16 return this.members[0].getDisplayName()
17 }
18 return this.getDisplayUri()
Adrien Béraudc4dd44a2021-04-08 01:05:24 -040019 }
20
Adrien Béraudc4dd44a2021-04-08 01:05:24 -040021 getObject() {
22 return {
23 id: this.id,
24 members: this.members
25 }
26 }
27
28 getSummary() {
29 return this.getObject()
30 }
31
32 getDisplayUri() {
Adrien Béraud995e8022021-04-08 13:46:51 -040033 return this.getId()
Adrien Béraudc4dd44a2021-04-08 01:05:24 -040034 }
35
36 addMessage(message) {
37 this.messages.push(message)
38 }
39}
40
41module.exports = Conversation;