editStream method Null safety

Future<StreamingMountEdited?> editStream(
  1. int id,
  2. {String? secret,
  3. String? description,
  4. String? metadata,
  5. String? newSecret,
  6. bool? newIsPrivate,
  7. bool? permanent,
  8. String? newPin}
)

edit existing streaming mount-point

Implementation

Future<StreamingMountEdited?> editStream(int id, {String? secret, String? description, String? metadata, String? newSecret, bool? newIsPrivate, bool? permanent, String? newPin}) async {
  var payload = {
    "request": "edit",
    "id": id,
    if (secret != null) "secret": secret,
    if (description != null) "new_description": description,
    if (metadata != null) "new_metadata": metadata,
    if (newSecret != null) "new_secret": newSecret,
    if (newPin != null) "new_pin": newPin,
    if (newIsPrivate != null) "new_is_private": newIsPrivate,
    if (permanent != null) "permanent": permanent
  };
  var response = await this.send(data: payload);
  if (response['streaming'] == 'edited') {
    return StreamingMountEdited.fromJson(response);
  }
  return null;
}