From 58c24eeb026cf5f2dc437f1b1e8b68e06c497248 Mon Sep 17 00:00:00 2001 From: Dat PHAM HOANG Date: Wed, 19 Jul 2023 15:55:07 +0700 Subject: [PATCH 1/2] Change displayName in contact from identity server --- lib/data/network/contact/tom_contact_api.dart | 2 +- lib/domain/model/contact/tom_contact.dart | 10 ++++++++++ .../extensions/contact/tom_contact_extension.dart | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/data/network/contact/tom_contact_api.dart b/lib/data/network/contact/tom_contact_api.dart index 0d2f29e4f0..8d5c43fcde 100644 --- a/lib/data/network/contact/tom_contact_api.dart +++ b/lib/data/network/contact/tom_contact_api.dart @@ -15,7 +15,7 @@ class TomContactAPI { Future searchContacts(ContactQuery query, {int? limit, int? offset}) async { final requestBody = LookupMxidRequest( scope: ['mail', 'uid', 'mobile'], - fields: ['uid', 'mobile', 'mail'], + fields: ['uid', 'mobile', 'mail', 'cn', 'displayName'], val: query.keyword, limit: limit, offset: offset diff --git a/lib/domain/model/contact/tom_contact.dart b/lib/domain/model/contact/tom_contact.dart index 18a54986fd..29762dadd8 100644 --- a/lib/domain/model/contact/tom_contact.dart +++ b/lib/domain/model/contact/tom_contact.dart @@ -16,11 +16,21 @@ class TomContact with EquatableMixin { final String? address; + @JsonKey(name: "cn") + final String? cn; + + @JsonKey(name: "displayName") + final String? rawDisplayName; + + String? get displayName => rawDisplayName ?? cn; + const TomContact( this.uid, { this.mail, this.phoneNumber, this.address, + this.cn, + this.rawDisplayName, }); @override diff --git a/lib/domain/model/extensions/contact/tom_contact_extension.dart b/lib/domain/model/extensions/contact/tom_contact_extension.dart index bdb75916c7..943315f0a7 100644 --- a/lib/domain/model/extensions/contact/tom_contact_extension.dart +++ b/lib/domain/model/extensions/contact/tom_contact_extension.dart @@ -6,7 +6,7 @@ extension TomContactExtension on TomContact { Contact toContact(ContactStatus status) { return Contact( emails: mail != null ? {mail!} : {}, - displayName: uid, + displayName: displayName ?? uid, phoneNumber: phoneNumber, matrixId: address, status: status, From 7d3b1ec95db6c6fe605e1cad4eb9e6d687ebb407 Mon Sep 17 00:00:00 2001 From: Dat PHAM HOANG Date: Wed, 19 Jul 2023 16:31:30 +0700 Subject: [PATCH 2/2] Add `cn` and `displayName` in scopes to support searching in those fields --- lib/data/network/contact/tom_contact_api.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/data/network/contact/tom_contact_api.dart b/lib/data/network/contact/tom_contact_api.dart index 8d5c43fcde..83e28741a5 100644 --- a/lib/data/network/contact/tom_contact_api.dart +++ b/lib/data/network/contact/tom_contact_api.dart @@ -14,7 +14,7 @@ class TomContactAPI { Future searchContacts(ContactQuery query, {int? limit, int? offset}) async { final requestBody = LookupMxidRequest( - scope: ['mail', 'uid', 'mobile'], + scope: ['mail', 'uid', 'mobile', 'cn', 'displayName'], fields: ['uid', 'mobile', 'mail', 'cn', 'displayName'], val: query.keyword, limit: limit,