checkPermissions method

Future<Map<String, bool>> checkPermissions(
  1. String token,
  2. List<String> permissions, {
  3. String? resource,
  4. Map<String, dynamic>? context,
})

Batch check multiple permissions

Implementation

Future<Map<String, bool>> checkPermissions(
  String token,
  List<String> permissions, {
  String? resource,
  Map<String, dynamic>? context,
}) async {
  try {
    final authMetadata = await _authValidator.validateToken(token);
    return await _authzProvider.checkPermissions(
      authMetadata.userId,
      permissions,
      resource: resource,
      context: context,
    );
  } on Exception {
    return Map.fromEntries(permissions.map((perm) => MapEntry(perm, false)));
  }
}