TF-3985 Add JMAP SaaS capability com:linagora:params:saas

This commit is contained in:
dab246
2025-09-09 12:21:01 +07:00
committed by Dat H. Pham
parent c6ace7a9b5
commit 066557110d
5 changed files with 46 additions and 1 deletions
@@ -25,6 +25,7 @@ import 'package:tmail_ui_user/main/error/capability_validator.dart';
extension SessionExtensions on Session {
static final CapabilityIdentifier linagoraContactSupportCapability = CapabilityIdentifier(Uri.parse('com:linagora:params:jmap:contact:support'));
static final CapabilityIdentifier linagoraDownloadAllCapability = CapabilityIdentifier(Uri.parse('com:linagora:params:downloadAll'));
static final CapabilityIdentifier linagoraSaaSCapability = CapabilityIdentifier(Uri.parse('com:linagora:params:saas'));
static final Map<CapabilityIdentifier, CapabilityProperties Function(Map<String, dynamic>)> customMapCapabilitiesConverter = {
linagoraContactSupportCapability: ContactSupportCapability.deserialize,
@@ -149,4 +150,18 @@ extension SessionExtensions on Session {
);
return settingsCapability?.readOnlyProperties?.contains('language') == true;
}
SaaSAccountCapability? getSaaSAccountCapability(AccountId accountId) {
try {
final saaSAccountCapability = getCapabilityProperties<SaaSAccountCapability>(
accountId,
linagoraSaaSCapability,
);
log('SessionExtensions::getSaaSAccountCapability:saaSAccountCapability = $saaSAccountCapability');
return saaSAccountCapability;
} catch (e) {
logError('SessionExtensions::getSaaSAccountCapability():[Exception] $e');
return null;
}
}
}