cart_sync/src/models/user_preference.rs
2023-02-14 15:44:56 +01:00

166 lines
5.9 KiB
Rust

/*
* Django Recipes
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.4.5
*
* Generated by: https://openapi-generator.tech
*/
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct UserPreference {
#[serde(rename = "user")]
pub user: i32,
#[serde(rename = "image", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub image: Option<Option<Box<crate::models::RecipeStepsInnerFile>>>,
#[serde(rename = "theme", skip_serializing_if = "Option::is_none")]
pub theme: Option<Theme>,
#[serde(rename = "nav_color", skip_serializing_if = "Option::is_none")]
pub nav_color: Option<NavColor>,
#[serde(rename = "default_unit", skip_serializing_if = "Option::is_none")]
pub default_unit: Option<String>,
#[serde(rename = "default_page", skip_serializing_if = "Option::is_none")]
pub default_page: Option<DefaultPage>,
#[serde(rename = "use_fractions", skip_serializing_if = "Option::is_none")]
pub use_fractions: Option<bool>,
#[serde(rename = "use_kj", skip_serializing_if = "Option::is_none")]
pub use_kj: Option<bool>,
#[serde(rename = "plan_share", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub plan_share: Option<Option<Vec<crate::models::CustomFilterSharedInner>>>,
#[serde(rename = "sticky_navbar", skip_serializing_if = "Option::is_none")]
pub sticky_navbar: Option<bool>,
#[serde(rename = "ingredient_decimals", skip_serializing_if = "Option::is_none")]
pub ingredient_decimals: Option<i32>,
#[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
pub comments: Option<bool>,
#[serde(rename = "shopping_auto_sync", skip_serializing_if = "Option::is_none")]
pub shopping_auto_sync: Option<i32>,
#[serde(rename = "mealplan_autoadd_shopping", skip_serializing_if = "Option::is_none")]
pub mealplan_autoadd_shopping: Option<bool>,
#[serde(rename = "food_inherit_default", skip_serializing_if = "Option::is_none")]
pub food_inherit_default: Option<String>,
#[serde(rename = "default_delay", skip_serializing_if = "Option::is_none")]
pub default_delay: Option<String>,
#[serde(rename = "mealplan_autoinclude_related", skip_serializing_if = "Option::is_none")]
pub mealplan_autoinclude_related: Option<bool>,
#[serde(rename = "mealplan_autoexclude_onhand", skip_serializing_if = "Option::is_none")]
pub mealplan_autoexclude_onhand: Option<bool>,
#[serde(rename = "shopping_share", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub shopping_share: Option<Option<Vec<crate::models::CustomFilterSharedInner>>>,
#[serde(rename = "shopping_recent_days", skip_serializing_if = "Option::is_none")]
pub shopping_recent_days: Option<i32>,
#[serde(rename = "csv_delim", skip_serializing_if = "Option::is_none")]
pub csv_delim: Option<String>,
#[serde(rename = "csv_prefix", skip_serializing_if = "Option::is_none")]
pub csv_prefix: Option<String>,
#[serde(rename = "filter_to_supermarket", skip_serializing_if = "Option::is_none")]
pub filter_to_supermarket: Option<bool>,
#[serde(rename = "shopping_add_onhand", skip_serializing_if = "Option::is_none")]
pub shopping_add_onhand: Option<bool>,
#[serde(rename = "left_handed", skip_serializing_if = "Option::is_none")]
pub left_handed: Option<bool>,
#[serde(rename = "food_children_exist", skip_serializing_if = "Option::is_none")]
pub food_children_exist: Option<String>,
}
impl UserPreference {
pub fn new(user: i32) -> UserPreference {
UserPreference {
user,
image: None,
theme: None,
nav_color: None,
default_unit: None,
default_page: None,
use_fractions: None,
use_kj: None,
plan_share: None,
sticky_navbar: None,
ingredient_decimals: None,
comments: None,
shopping_auto_sync: None,
mealplan_autoadd_shopping: None,
food_inherit_default: None,
default_delay: None,
mealplan_autoinclude_related: None,
mealplan_autoexclude_onhand: None,
shopping_share: None,
shopping_recent_days: None,
csv_delim: None,
csv_prefix: None,
filter_to_supermarket: None,
shopping_add_onhand: None,
left_handed: None,
food_children_exist: None,
}
}
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Theme {
#[serde(rename = "TANDOOR")]
Tandoor,
#[serde(rename = "BOOTSTRAP")]
Bootstrap,
#[serde(rename = "DARKLY")]
Darkly,
#[serde(rename = "FLATLY")]
Flatly,
#[serde(rename = "SUPERHERO")]
Superhero,
}
impl Default for Theme {
fn default() -> Theme {
Self::Tandoor
}
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum NavColor {
#[serde(rename = "PRIMARY")]
Primary,
#[serde(rename = "SECONDARY")]
Secondary,
#[serde(rename = "SUCCESS")]
Success,
#[serde(rename = "INFO")]
Info,
#[serde(rename = "WARNING")]
Warning,
#[serde(rename = "DANGER")]
Danger,
#[serde(rename = "LIGHT")]
Light,
#[serde(rename = "DARK")]
Dark,
}
impl Default for NavColor {
fn default() -> NavColor {
Self::Primary
}
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum DefaultPage {
#[serde(rename = "SEARCH")]
Search,
#[serde(rename = "PLAN")]
Plan,
#[serde(rename = "BOOKS")]
Books,
}
impl Default for DefaultPage {
fn default() -> DefaultPage {
Self::Search
}
}