createRoomGrant method

Future<void> createRoomGrant({
  1. required String projectId,
  2. required String roomId,
  3. required String userId,
  4. required ApiScope permissions,
})

POST /accounts/projects/{project_id}/room-grants Body: { "room_name", "user_id", "permissions" } Returns {} on success.

Implementation

Future<void> createRoomGrant({
  required String projectId,
  required String roomId,
  required String userId,
  required ApiScope permissions,
}) async {
  final uri = Uri.parse('$baseUrl/accounts/projects/$projectId/room-grants');
  final body = {'room_id': roomId, 'user_id': userId, 'permissions': permissions.toJson()};

  final response = await http.post(uri, headers: _getHeaders(), body: jsonEncode(body));

  if (response.statusCode >= 400) {
    throw MeshagentException(
      'Failed to create room grant. '
      'Status code: ${response.statusCode}, body: ${response.body}',
    );
  }
}