blob: 9d00098cd374c493d17c2cb4664a3c6ea527b67a [file] [log] [blame]
Adrien Béraud0cb76c92021-04-07 19:59:08 -04001class Contact {
2 constructor(uri) {
3 this.uri = uri
4 this.displayName = undefined
5 this.registeredName = undefined
6 }
7
8 static from(object) {
Adrien Béraud35e7d7c2021-04-13 03:28:39 -04009 const contact = new Contact(object.uri)
10 if (object.registeredName)
11 contact.setRegisteredName(object.registeredName)
12 return contact
Adrien Béraud0cb76c92021-04-07 19:59:08 -040013 }
14
15 getUri() { return this.uri }
16
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040017 getRegisteredName() { return this.registeredName }
18
19 setRegisteredName(name) { this.registeredName = name }
Adrien Béraud0cb76c92021-04-07 19:59:08 -040020
21 getDisplayName() {
22 return this.displayName || this.getRegisteredName() || this.getUri()
23 }
24
25 getObject() {
26 return {
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040027 uri: this.uri,
28 registeredName: this.registeredName
Adrien Béraud0cb76c92021-04-07 19:59:08 -040029 }
30 }
31}
32
33module.exports = Contact;