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