rivet-party 0.0.7

Rivet service enabling identities to play together in real time across games
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn serialize_structure_crate_input_create_party_input(
	object: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::input::CreatePartyInput,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	if let Some(var_1) = &input.invites {
		let mut array_2 = object.key("invites").start_array();
		for item_3 in var_1 {
			{
				let mut object_4 = array_2.value().start_object();
				crate::json_ser::serialize_structure_crate_model_create_party_invite_config(
					&mut object_4,
					item_3,
				)?;
				object_4.finish();
			}
		}
		array_2.finish();
	}
	if let Some(var_5) = &input.matchmaker_current_player_token {
		object
			.key("matchmaker_current_player_token")
			.string(var_5.as_str());
	}
	if let Some(var_6) = &input.party_size {
		object.key("party_size").number(
			#[allow(clippy::useless_conversion)]
			aws_smithy_types::Number::NegInt((*var_6).into()),
		);
	}
	if let Some(var_7) = &input.publicity {
		let mut object_8 = object.key("publicity").start_object();
		crate::json_ser::serialize_structure_crate_model_create_party_publicity_config(
			&mut object_8,
			var_7,
		)?;
		object_8.finish();
	}
	Ok(())
}

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

pub fn serialize_structure_crate_input_join_party_input(
	object: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::input::JoinPartyInput,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	if let Some(var_10) = &input.invite {
		let mut object_11 = object.key("invite").start_object();
		crate::json_ser::serialize_union_crate_model_join_party_invite(&mut object_11, var_10)?;
		object_11.finish();
	}
	if let Some(var_12) = &input.matchmaker_auto_join_lobby {
		object.key("matchmaker_auto_join_lobby").boolean(*var_12);
	}
	Ok(())
}

pub fn serialize_structure_crate_input_set_party_publicity_input(
	object: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::input::SetPartyPublicityInput,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	if let Some(var_13) = &input.groups {
		object.key("groups").string(var_13.as_str());
	}
	if let Some(var_14) = &input.mutual_followers {
		object.key("mutual_followers").string(var_14.as_str());
	}
	if let Some(var_15) = &input.public {
		object.key("public").string(var_15.as_str());
	}
	Ok(())
}

pub fn serialize_structure_crate_input_find_matchmaker_lobby_for_party_input(
	object: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::input::FindMatchmakerLobbyForPartyInput,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	if let Some(var_16) = &input.game_modes {
		let mut array_17 = object.key("game_modes").start_array();
		for item_18 in var_16 {
			{
				array_17.value().string(item_18.as_str());
			}
		}
		array_17.finish();
	}
	if let Some(var_19) = &input.prevent_auto_create_lobby {
		object.key("prevent_auto_create_lobby").boolean(*var_19);
	}
	if let Some(var_20) = &input.regions {
		let mut array_21 = object.key("regions").start_array();
		for item_22 in var_20 {
			{
				array_21.value().string(item_22.as_str());
			}
		}
		array_21.finish();
	}
	Ok(())
}

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

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

pub fn serialize_structure_crate_model_create_party_publicity_config(
	object: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::model::CreatePartyPublicityConfig,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	if let Some(var_25) = &input.public {
		object.key("public").string(var_25.as_str());
	}
	if let Some(var_26) = &input.mutual_followers {
		object.key("mutual_followers").string(var_26.as_str());
	}
	if let Some(var_27) = &input.groups {
		object.key("groups").string(var_27.as_str());
	}
	Ok(())
}

pub fn serialize_union_crate_model_join_party_invite(
	object_11: &mut aws_smithy_json::serialize::JsonObjectWriter,
	input: &crate::model::JoinPartyInvite,
) -> Result<(), aws_smithy_http::operation::SerializationError> {
	match input {
		crate::model::JoinPartyInvite::PartyId(inner) => {
			object_11.key("party_id").string(inner.as_str());
		}
		crate::model::JoinPartyInvite::Token(inner) => {
			object_11.key("token").string(inner.as_str());
		}
		crate::model::JoinPartyInvite::Alias(inner) => {
			object_11.key("alias").string(inner.as_str());
		}
		crate::model::JoinPartyInvite::Unknown => {
			return Err(
				aws_smithy_http::operation::SerializationError::unknown_variant("JoinPartyInvite"),
			)
		}
	}
	Ok(())
}