rivet-matchmaker 0.0.8

Rivet service for matchmaking players and managing lobbies
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn serialize_structure_crate_input_find_lobby_input(
	object: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::input::FindLobbyInput,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	if let Some(var_1) = &input.captcha {
		let mut object_2 = object.key("captcha").start_object();
		crate::json_ser::serialize_union_crate_model_captcha_config(&mut object_2, var_1)?;
		object_2.finish();
	}
	if let Some(var_3) = &input.game_modes {
		let mut array_4 = object.key("game_modes").start_array();
		for item_5 in var_3 {
			{
				array_4.value().string(item_5.as_str());
			}
		}
		array_4.finish();
	}
	if let Some(var_6) = &input.prevent_auto_create_lobby {
		object.key("prevent_auto_create_lobby").boolean(*var_6);
	}
	if let Some(var_7) = &input.regions {
		let mut array_8 = object.key("regions").start_array();
		for item_9 in var_7 {
			{
				array_8.value().string(item_9.as_str());
			}
		}
		array_8.finish();
	}
	Ok(())
}

pub fn serialize_structure_crate_input_join_lobby_input(
	object: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::input::JoinLobbyInput,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	if let Some(var_10) = &input.captcha {
		let mut object_11 = object.key("captcha").start_object();
		crate::json_ser::serialize_union_crate_model_captcha_config(&mut object_11, var_10)?;
		object_11.finish();
	}
	if let Some(var_12) = &input.lobby_id {
		object.key("lobby_id").string(var_12.as_str());
	}
	Ok(())
}

pub fn serialize_structure_crate_input_player_connected_input(
	object: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::input::PlayerConnectedInput,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	if let Some(var_13) = &input.player_token {
		object.key("player_token").string(var_13.as_str());
	}
	Ok(())
}

pub fn serialize_structure_crate_input_player_disconnected_input(
	object: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::input::PlayerDisconnectedInput,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	if let Some(var_14) = &input.player_token {
		object.key("player_token").string(var_14.as_str());
	}
	Ok(())
}

pub fn serialize_structure_crate_input_set_lobby_closed_input(
	object: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::input::SetLobbyClosedInput,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	if let Some(var_15) = &input.is_closed {
		object.key("is_closed").boolean(*var_15);
	}
	Ok(())
}

pub fn serialize_union_crate_model_captcha_config(
	object_2: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::model::CaptchaConfig,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	match input {
		crate::model::CaptchaConfig::Hcaptcha(inner) => {
			let mut object_16 = object_2.key("hcaptcha").start_object();
			crate::json_ser::serialize_structure_crate_model_captcha_config_hcaptcha(
				&mut object_16,
				inner,
			)?;
			object_16.finish();
		}
		crate::model::CaptchaConfig::Unknown => {
			return Err(
				aws_smithy_http::operation::SerializationError::unknown_variant("CaptchaConfig"),
			)
		}
	}
	Ok(())
}

pub fn serialize_structure_crate_model_captcha_config_hcaptcha(
	object: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::model::CaptchaConfigHcaptcha,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	if let Some(var_17) = &input.client_response {
		object.key("client_response").string(var_17.as_str());
	}
	Ok(())
}