TF-3181 Display contact support button on web app

(cherry picked from commit cfc027522962fbf7092c8a15876d6c61f0aca6fc)
This commit is contained in:
dab246
2024-12-06 00:39:59 +07:00
committed by Dat H. Pham
parent e54fd73d58
commit 129d5f5fa8
11 changed files with 113 additions and 16 deletions
@@ -9,6 +9,7 @@ import 'package:get/get.dart';
import 'package:jmap_dart_client/http/converter/state_converter.dart';
import 'package:jmap_dart_client/http/converter/user_name_converter.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
import 'package:model/model.dart';
@@ -18,6 +19,7 @@ import 'package:tmail_ui_user/features/home/domain/converter/session_capabilitie
import 'package:tmail_ui_user/features/home/domain/converter/session_primary_account_converter.dart';
extension SessionExtensions on Session {
static final CapabilityIdentifier linagoraContactSupportCapability = CapabilityIdentifier(Uri.parse('com:linagora:params:jmap:contact:support'));
Map<String, dynamic> toJson() {
final val = <String, dynamic>{};
@@ -79,4 +81,18 @@ extension SessionExtensions on Session {
return null;
}
}
ContactSupportCapability? getContactSupportCapability(AccountId accountId) {
try {
final contactSupportCapability = getCapabilityProperties<ContactSupportCapability>(
accountId,
linagoraContactSupportCapability,
);
log('SessionExtensions::getContactSupport:contactSupportCapability = $contactSupportCapability');
return contactSupportCapability;
} catch (e) {
logError('SessionExtensions::getContactSupportCapability():[Exception] $e');
return null;
}
}
}