testAccess method
Future<AccessTestResult>
testAccess({
- required String projectId,
- required AccessSubject subject,
- required AccessResource resource,
- required String relation,
Implementation
Future<AccessTestResult> testAccess({
required String projectId,
required AccessSubject subject,
required AccessResource resource,
required String relation,
}) async {
final encodedProjectId = Uri.encodeComponent(projectId);
final uri = Uri.parse('$baseUrl/accounts/projects/$encodedProjectId/access:test');
final response = await httpClient.post(
uri,
body: jsonEncode({'subject': subject.toJson(), 'resource': resource.toJson(), 'relation': relation}),
);
if (response.statusCode >= 400) {
throw MeshagentException(
'Failed to test access. '
'Status code: ${response.statusCode}, body: ${response.body}',
);
}
return AccessTestResult.fromJson(jsonDecode(response.body) as Map<String, dynamic>);
}