use std::fmt::Display;
#[derive(Clone, Debug, Default)]
pub struct ListTeamMemberBookingProfilesParameters {
pub bookable_only: Option<bool>,
pub limit: Option<i32>,
pub cursor: Option<String>,
pub location_id: Option<String>,
}
impl ListTeamMemberBookingProfilesParameters {
pub fn to_query_string(&self) -> String {
self.to_string()
}
}
impl From<ListTeamMemberBookingProfilesParameters> for String {
fn from(
list_team_member_booking_profiles_parameters: ListTeamMemberBookingProfilesParameters,
) -> Self {
list_team_member_booking_profiles_parameters.to_string()
}
}
impl Display for ListTeamMemberBookingProfilesParameters {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut params = Vec::new();
if let Some(bookable_only) = &self.bookable_only {
params.push(format!("bookable_only={}", bookable_only));
}
if let Some(limit) = &self.limit {
params.push(format!("limit={}", limit));
}
if let Some(cursor) = &self.cursor {
params.push(format!("cursor={}", cursor));
}
if let Some(location_id) = &self.location_id {
params.push(format!("location_id={}", location_id));
}
let str = if params.is_empty() {
String::new()
} else {
format!("?{}", params.join("&"))
};
write!(f, "{}", str)
}
}