getProjectRole method

Future<ProjectRole> getProjectRole(
  1. String projectId
)

Corresponds to: GET /accounts/projects/{project_id} Returns a role

Implementation

Future<ProjectRole> getProjectRole(String projectId) async {
  final encodedProjectId = Uri.encodeComponent(projectId);
  final uri = Uri.parse('$baseUrl/accounts/projects/$encodedProjectId/role');
  final response = await httpClient.get(uri);

  if (response.statusCode >= 400) {
    throw MeshagentException('Failed to get project role. Status code: ${response.statusCode}, body: ${response.body}');
  }
  final role = (jsonDecode(response.body) as Map<String, dynamic>)["role"];

  return switch (role) {
    "admin" => ProjectRole.admin,
    "developer" => ProjectRole.developer,
    "member" => ProjectRole.member,
    _ => ProjectRole.none,
  };
}