use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateGoogleBusinessMediaRequest {
#[serde(rename = "sourceUrl")]
pub source_url: String,
#[serde(rename = "mediaFormat", skip_serializing_if = "Option::is_none")]
pub media_format: Option<MediaFormat>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "category", skip_serializing_if = "Option::is_none")]
pub category: Option<Category>,
}
impl CreateGoogleBusinessMediaRequest {
pub fn new(source_url: String) -> CreateGoogleBusinessMediaRequest {
CreateGoogleBusinessMediaRequest {
source_url,
media_format: None,
description: None,
category: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MediaFormat {
#[serde(rename = "PHOTO")]
Photo,
#[serde(rename = "VIDEO")]
Video,
}
impl Default for MediaFormat {
fn default() -> MediaFormat {
Self::Photo
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Category {
#[serde(rename = "COVER")]
Cover,
#[serde(rename = "PROFILE")]
Profile,
#[serde(rename = "LOGO")]
Logo,
#[serde(rename = "EXTERIOR")]
Exterior,
#[serde(rename = "INTERIOR")]
Interior,
#[serde(rename = "FOOD_AND_DRINK")]
FoodAndDrink,
#[serde(rename = "MENU")]
Menu,
#[serde(rename = "PRODUCT")]
Product,
#[serde(rename = "TEAMS")]
Teams,
#[serde(rename = "ADDITIONAL")]
Additional,
}
impl Default for Category {
fn default() -> Category {
Self::Cover
}
}