TF-3985 Add JMAP SaaS capability com:linagora:params:saas
This commit is contained in:
@@ -10,6 +10,7 @@ import 'package:jmap_dart_client/jmap/core/capability/submission_capability.dart
|
||||
import 'package:jmap_dart_client/jmap/core/capability/vacation_capability.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/capability/web_socket_ticket_capability.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/capability/websocket_capability.dart';
|
||||
import 'package:model/saas/saas_account_capability.dart';
|
||||
import 'package:model/support/contact_support_capability.dart';
|
||||
|
||||
class CapabilityPropertiesConverter {
|
||||
@@ -35,6 +36,8 @@ class CapabilityPropertiesConverter {
|
||||
return properties.toJson();
|
||||
} else if (properties is ContactSupportCapability) {
|
||||
return properties.toJson();
|
||||
} else if (properties is SaaSAccountCapability) {
|
||||
return properties.toJson();
|
||||
} else if (properties is DefaultCapability) {
|
||||
return properties.properties;
|
||||
} else if (properties is EmptyCapability) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user