12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- use flowy_derive::ProtoBuf;
- use serde::{Deserialize, Serialize};
- #[derive(ProtoBuf, Default, Debug, Clone)]
- pub struct UserPreferencesPB {
- #[pb(index = 1)]
- user_id: String,
- #[pb(index = 2)]
- appearance_setting: AppearanceSettingsPB,
- }
- #[derive(ProtoBuf, Serialize, Deserialize, Debug, Clone)]
- pub struct AppearanceSettingsPB {
- #[pb(index = 1)]
- pub theme: String,
- #[pb(index = 2)]
- #[serde(default)]
- pub locale: LocaleSettingsPB,
- #[pb(index = 3)]
- #[serde(default = "DEFAULT_RESET_VALUE")]
- pub reset_as_default: bool,
- }
- const DEFAULT_RESET_VALUE: fn() -> bool = || APPEARANCE_RESET_AS_DEFAULT;
- #[derive(ProtoBuf, Serialize, Deserialize, Debug, Clone)]
- pub struct LocaleSettingsPB {
- #[pb(index = 1)]
- pub language_code: String,
- #[pb(index = 2)]
- pub country_code: String,
- }
- impl std::default::Default for LocaleSettingsPB {
- fn default() -> Self {
- Self {
- language_code: "en".to_owned(),
- country_code: "".to_owned(),
- }
- }
- }
- pub const APPEARANCE_DEFAULT_THEME: &str = "light";
- const APPEARANCE_RESET_AS_DEFAULT: bool = true;
- impl std::default::Default for AppearanceSettingsPB {
- fn default() -> Self {
- AppearanceSettingsPB {
- theme: APPEARANCE_DEFAULT_THEME.to_owned(),
- locale: LocaleSettingsPB::default(),
- reset_as_default: APPEARANCE_RESET_AS_DEFAULT,
- }
- }
- }
|