setRoomTag method

Future<void> setRoomTag(
  1. String userId,
  2. String roomId,
  3. String tag, {
  4. double? order,
  5. Map<String, Object?> additionalProperties = const {},
})
inherited

Add a tag to the room.

userId The id of the user to add a tag for. The access token must be authorized to make requests for this user ID.

roomId The ID of the room to add a tag to.

tag The tag to add.

order A number in a range [0,1] describing a relative position of the room under the given tag.

Implementation

Future<void> setRoomTag(String userId, String roomId, String tag,
    {double? order,
    Map<String, Object?> additionalProperties = const {}}) async {
  final requestUri = Uri(
      path:
          '_api/client/v3/user/${Uri.encodeComponent(userId)}/rooms/${Uri.encodeComponent(roomId)}/tags/${Uri.encodeComponent(tag)}');
  final request = Request('PUT', baseUri!.resolveUri(requestUri));
  request.headers['authorization'] = 'Bearer ${bearerToken!}';
  request.headers['content-type'] = 'application/json';
  request.bodyBytes = utf8.encode(jsonEncode({
    ...additionalProperties,
    if (order != null) 'order': order,
  }));
  final response = await httpClient.send(request);
  final responseBody = await response.stream.toBytes();
  if (response.statusCode != 200) unexpectedResponse(response, responseBody);
  final responseString = utf8.decode(responseBody);
  final json = jsonDecode(responseString);
  return ignore(json);
}