TF-1625 Add method check capability is supported or not?
(cherry picked from commit ee45272afab3195a50255838c50c8c8be7f0c418)
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import 'package:core/utils/app_logger.dart';
|
||||||
import 'package:jmap_dart_client/jmap/account_id.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_identifier.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||||
@@ -24,3 +25,16 @@ void requireCapability(Session session, AccountId accountId, List<CapabilityIden
|
|||||||
throw SessionMissingCapability(missingCapabilities);
|
throw SessionMissingCapability(missingCapabilities);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extension CapabilityIdentifierExtension on List<CapabilityIdentifier> {
|
||||||
|
|
||||||
|
bool isSupported(Session session, AccountId accountId) {
|
||||||
|
try {
|
||||||
|
requireCapability(session, accountId, this);
|
||||||
|
return true;
|
||||||
|
} catch (error) {
|
||||||
|
logError('CapabilityIdentifierExtension::isSupported(): $error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user