TF-939 Depend on accountCapabilities to delete multiple mailboxes

This commit is contained in:
Dat PHAM HOANG
2022-09-13 16:41:00 +07:00
committed by Dat H. Pham
parent 3871b18f00
commit 48ae928b4e
6 changed files with 276 additions and 33 deletions
@@ -1,6 +1,9 @@
import 'package:core/utils/app_logger.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/capability/capability_properties.dart';
import 'package:jmap_dart_client/jmap/core/capability/empty_capability.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:uri/uri.dart';
@@ -25,4 +28,15 @@ extension SessionExtension on Session {
log('SessionExtension::getUploadUri(): uploadUri: $uploadUri');
return Uri.parse(uploadUri);
}
T getCapabilityProperties<T extends CapabilityProperties>(
AccountId accountId,
CapabilityIdentifier identifier
) {
var capability = accounts[accountId]!.accountCapabilities[identifier];
if (capability is EmptyCapability) {
capability = capabilities[identifier] as T;
}
return (capability as T);
}
}