use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct UserEditForm {
#[serde(rename = "alias", skip_serializing_if = "Option::is_none")]
pub alias: Option<String>,
#[serde(rename = "title", skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "accountNumber", skip_serializing_if = "Option::is_none")]
pub account_number: Option<String>,
#[serde(rename = "color", skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(rename = "email")]
pub email: String,
#[serde(rename = "language")]
pub language: Language,
#[serde(rename = "locale")]
pub locale: Locale,
#[serde(rename = "timezone")]
pub timezone: String,
#[serde(rename = "supervisor", skip_serializing_if = "Option::is_none")]
pub supervisor: Option<i32>,
#[serde(rename = "roles", skip_serializing_if = "Option::is_none")]
pub roles: Option<Vec<Roles>>,
#[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(rename = "systemAccount", skip_serializing_if = "Option::is_none")]
pub system_account: Option<bool>,
#[serde(rename = "requiresPasswordReset", skip_serializing_if = "Option::is_none")]
pub requires_password_reset: Option<bool>,
}
impl UserEditForm {
pub fn new(email: String, language: Language, locale: Locale, timezone: String) -> UserEditForm {
UserEditForm {
alias: None,
title: None,
account_number: None,
color: None,
email,
language,
locale,
timezone,
supervisor: None,
roles: None,
enabled: None,
system_account: None,
requires_password_reset: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Language {
#[serde(rename = "ar")]
Ar,
#[serde(rename = "cs")]
Cs,
#[serde(rename = "da")]
Da,
#[serde(rename = "de")]
De,
#[serde(rename = "de_CH")]
DeCh,
#[serde(rename = "el")]
El,
#[serde(rename = "en")]
En,
#[serde(rename = "eo")]
Eo,
#[serde(rename = "es")]
Es,
#[serde(rename = "eu")]
Eu,
#[serde(rename = "fa")]
Fa,
#[serde(rename = "fi")]
Fi,
#[serde(rename = "fo")]
Fo,
#[serde(rename = "fr")]
Fr,
#[serde(rename = "he")]
He,
#[serde(rename = "hr")]
Hr,
#[serde(rename = "hu")]
Hu,
#[serde(rename = "id")]
Id,
#[serde(rename = "it")]
It,
#[serde(rename = "ja")]
Ja,
#[serde(rename = "ko")]
Ko,
#[serde(rename = "nb_NO")]
NbNo,
#[serde(rename = "nl")]
Nl,
#[serde(rename = "pa")]
Pa,
#[serde(rename = "pl")]
Pl,
#[serde(rename = "pt")]
Pt,
#[serde(rename = "pt_BR")]
PtBr,
#[serde(rename = "ro")]
Ro,
#[serde(rename = "ru")]
Ru,
#[serde(rename = "sk")]
Sk,
#[serde(rename = "sl")]
Sl,
#[serde(rename = "sv")]
Sv,
#[serde(rename = "tr")]
Tr,
#[serde(rename = "uk")]
Uk,
#[serde(rename = "vi")]
Vi,
#[serde(rename = "zh_CN")]
ZhCn,
#[serde(rename = "zh_Hant")]
ZhHant,
#[serde(rename = "zh_Hant_TW")]
ZhHantTw,
}
impl Default for Language {
fn default() -> Language {
Self::Ar
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Locale {
#[serde(rename = "ar")]
Ar,
#[serde(rename = "ca")]
Ca,
#[serde(rename = "ca_AD")]
CaAd,
#[serde(rename = "ca_ES")]
CaEs,
#[serde(rename = "ca_FR")]
CaFr,
#[serde(rename = "ca_IT")]
CaIt,
#[serde(rename = "cs")]
Cs,
#[serde(rename = "cs_CZ")]
CsCz,
#[serde(rename = "da")]
Da,
#[serde(rename = "da_DK")]
DaDk,
#[serde(rename = "da_GL")]
DaGl,
#[serde(rename = "de")]
De,
#[serde(rename = "de_AT")]
DeAt,
#[serde(rename = "de_BE")]
DeBe,
#[serde(rename = "de_CH")]
DeCh,
#[serde(rename = "de_DE")]
DeDe,
#[serde(rename = "de_IT")]
DeIt,
#[serde(rename = "de_LI")]
DeLi,
#[serde(rename = "de_LU")]
DeLu,
#[serde(rename = "el")]
El,
#[serde(rename = "el_CY")]
ElCy,
#[serde(rename = "el_GR")]
ElGr,
#[serde(rename = "en")]
En,
#[serde(rename = "en_AE")]
EnAe,
#[serde(rename = "en_AG")]
EnAg,
#[serde(rename = "en_AI")]
EnAi,
#[serde(rename = "en_AS")]
EnAs,
#[serde(rename = "en_AT")]
EnAt,
#[serde(rename = "en_AU")]
EnAu,
#[serde(rename = "en_BB")]
EnBb,
#[serde(rename = "en_BE")]
EnBe,
#[serde(rename = "en_BI")]
EnBi,
#[serde(rename = "en_BM")]
EnBm,
#[serde(rename = "en_BS")]
EnBs,
#[serde(rename = "en_BW")]
EnBw,
#[serde(rename = "en_BZ")]
EnBz,
#[serde(rename = "en_CA")]
EnCa,
#[serde(rename = "en_CC")]
EnCc,
#[serde(rename = "en_CH")]
EnCh,
#[serde(rename = "en_CK")]
EnCk,
#[serde(rename = "en_CM")]
EnCm,
#[serde(rename = "en_CX")]
EnCx,
#[serde(rename = "en_CY")]
EnCy,
#[serde(rename = "en_DE")]
EnDe,
#[serde(rename = "en_DK")]
EnDk,
#[serde(rename = "en_DM")]
EnDm,
#[serde(rename = "en_ER")]
EnEr,
#[serde(rename = "en_FI")]
EnFi,
#[serde(rename = "en_FJ")]
EnFj,
#[serde(rename = "en_FK")]
EnFk,
#[serde(rename = "en_FM")]
EnFm,
#[serde(rename = "en_GB")]
EnGb,
#[serde(rename = "en_GD")]
EnGd,
#[serde(rename = "en_GG")]
EnGg,
#[serde(rename = "en_GH")]
EnGh,
#[serde(rename = "en_GI")]
EnGi,
#[serde(rename = "en_GM")]
EnGm,
#[serde(rename = "en_GU")]
EnGu,
#[serde(rename = "en_GY")]
EnGy,
#[serde(rename = "en_HK")]
EnHk,
#[serde(rename = "en_ID")]
EnId,
#[serde(rename = "en_IE")]
EnIe,
#[serde(rename = "en_IL")]
EnIl,
#[serde(rename = "en_IM")]
EnIm,
#[serde(rename = "en_IN")]
EnIn,
#[serde(rename = "en_IO")]
EnIo,
#[serde(rename = "en_JE")]
EnJe,
#[serde(rename = "en_JM")]
EnJm,
#[serde(rename = "en_KE")]
EnKe,
#[serde(rename = "en_KI")]
EnKi,
#[serde(rename = "en_KN")]
EnKn,
#[serde(rename = "en_KY")]
EnKy,
#[serde(rename = "en_LC")]
EnLc,
#[serde(rename = "en_LR")]
EnLr,
#[serde(rename = "en_LS")]
EnLs,
#[serde(rename = "en_MG")]
EnMg,
#[serde(rename = "en_MH")]
EnMh,
#[serde(rename = "en_MO")]
EnMo,
#[serde(rename = "en_MP")]
EnMp,
#[serde(rename = "en_MS")]
EnMs,
#[serde(rename = "en_MT")]
EnMt,
#[serde(rename = "en_MU")]
EnMu,
#[serde(rename = "en_MV")]
EnMv,
#[serde(rename = "en_MW")]
EnMw,
#[serde(rename = "en_MY")]
EnMy,
#[serde(rename = "en_NA")]
EnNa,
#[serde(rename = "en_NF")]
EnNf,
#[serde(rename = "en_NG")]
EnNg,
#[serde(rename = "en_NL")]
EnNl,
#[serde(rename = "en_NR")]
EnNr,
#[serde(rename = "en_NU")]
EnNu,
#[serde(rename = "en_NZ")]
EnNz,
#[serde(rename = "en_PG")]
EnPg,
#[serde(rename = "en_PH")]
EnPh,
#[serde(rename = "en_PK")]
EnPk,
#[serde(rename = "en_PN")]
EnPn,
#[serde(rename = "en_PR")]
EnPr,
#[serde(rename = "en_PW")]
EnPw,
#[serde(rename = "en_RW")]
EnRw,
#[serde(rename = "en_SB")]
EnSb,
#[serde(rename = "en_SC")]
EnSc,
#[serde(rename = "en_SD")]
EnSd,
#[serde(rename = "en_SE")]
EnSe,
#[serde(rename = "en_SG")]
EnSg,
#[serde(rename = "en_SH")]
EnSh,
#[serde(rename = "en_SI")]
EnSi,
#[serde(rename = "en_SL")]
EnSl,
#[serde(rename = "en_SS")]
EnSs,
#[serde(rename = "en_SX")]
EnSx,
#[serde(rename = "en_SZ")]
EnSz,
#[serde(rename = "en_TC")]
EnTc,
#[serde(rename = "en_TK")]
EnTk,
#[serde(rename = "en_TO")]
EnTo,
#[serde(rename = "en_TT")]
EnTt,
#[serde(rename = "en_TV")]
EnTv,
#[serde(rename = "en_TZ")]
EnTz,
#[serde(rename = "en_UG")]
EnUg,
#[serde(rename = "en_UM")]
EnUm,
#[serde(rename = "en_US")]
EnUs,
#[serde(rename = "en_VC")]
EnVc,
#[serde(rename = "en_VG")]
EnVg,
#[serde(rename = "en_VI")]
EnVi,
#[serde(rename = "en_VU")]
EnVu,
#[serde(rename = "en_WS")]
EnWs,
#[serde(rename = "en_ZA")]
EnZa,
#[serde(rename = "en_ZM")]
EnZm,
#[serde(rename = "en_ZW")]
EnZw,
#[serde(rename = "eo")]
Eo,
#[serde(rename = "es")]
Es,
#[serde(rename = "es_AR")]
EsAr,
#[serde(rename = "es_BO")]
EsBo,
#[serde(rename = "es_BR")]
EsBr,
#[serde(rename = "es_BZ")]
EsBz,
#[serde(rename = "es_CL")]
EsCl,
#[serde(rename = "es_CO")]
EsCo,
#[serde(rename = "es_CR")]
EsCr,
#[serde(rename = "es_CU")]
EsCu,
#[serde(rename = "es_DO")]
EsDo,
#[serde(rename = "es_EC")]
EsEc,
#[serde(rename = "es_ES")]
EsEs,
#[serde(rename = "es_GQ")]
EsGq,
#[serde(rename = "es_GT")]
EsGt,
#[serde(rename = "es_HN")]
EsHn,
#[serde(rename = "es_MX")]
EsMx,
#[serde(rename = "es_NI")]
EsNi,
#[serde(rename = "es_PA")]
EsPa,
#[serde(rename = "es_PE")]
EsPe,
#[serde(rename = "es_PH")]
EsPh,
#[serde(rename = "es_PR")]
EsPr,
#[serde(rename = "es_PY")]
EsPy,
#[serde(rename = "es_SV")]
EsSv,
#[serde(rename = "es_US")]
EsUs,
#[serde(rename = "es_UY")]
EsUy,
#[serde(rename = "es_VE")]
EsVe,
#[serde(rename = "eu")]
Eu,
#[serde(rename = "eu_ES")]
EuEs,
#[serde(rename = "fa")]
Fa,
#[serde(rename = "fa_AF")]
FaAf,
#[serde(rename = "fa_IR")]
FaIr,
#[serde(rename = "fi")]
Fi,
#[serde(rename = "fi_FI")]
FiFi,
#[serde(rename = "fo")]
Fo,
#[serde(rename = "fo_DK")]
FoDk,
#[serde(rename = "fo_FO")]
FoFo,
#[serde(rename = "fr")]
Fr,
#[serde(rename = "fr_BE")]
FrBe,
#[serde(rename = "fr_BF")]
FrBf,
#[serde(rename = "fr_BI")]
FrBi,
#[serde(rename = "fr_BJ")]
FrBj,
#[serde(rename = "fr_BL")]
FrBl,
#[serde(rename = "fr_CA")]
FrCa,
#[serde(rename = "fr_CD")]
FrCd,
#[serde(rename = "fr_CF")]
FrCf,
#[serde(rename = "fr_CG")]
FrCg,
#[serde(rename = "fr_CH")]
FrCh,
#[serde(rename = "fr_CI")]
FrCi,
#[serde(rename = "fr_CM")]
FrCm,
#[serde(rename = "fr_DJ")]
FrDj,
#[serde(rename = "fr_DZ")]
FrDz,
#[serde(rename = "fr_FR")]
FrFr,
#[serde(rename = "fr_GA")]
FrGa,
#[serde(rename = "fr_GF")]
FrGf,
#[serde(rename = "fr_GN")]
FrGn,
#[serde(rename = "fr_GP")]
FrGp,
#[serde(rename = "fr_GQ")]
FrGq,
#[serde(rename = "fr_HT")]
FrHt,
#[serde(rename = "fr_KM")]
FrKm,
#[serde(rename = "fr_LU")]
FrLu,
#[serde(rename = "fr_MA")]
FrMa,
#[serde(rename = "fr_MC")]
FrMc,
#[serde(rename = "fr_MF")]
FrMf,
#[serde(rename = "fr_MG")]
FrMg,
#[serde(rename = "fr_ML")]
FrMl,
#[serde(rename = "fr_MQ")]
FrMq,
#[serde(rename = "fr_MR")]
FrMr,
#[serde(rename = "fr_MU")]
FrMu,
#[serde(rename = "fr_NC")]
FrNc,
#[serde(rename = "fr_NE")]
FrNe,
#[serde(rename = "fr_PF")]
FrPf,
#[serde(rename = "fr_PM")]
FrPm,
#[serde(rename = "fr_RE")]
FrRe,
#[serde(rename = "fr_RW")]
FrRw,
#[serde(rename = "fr_SC")]
FrSc,
#[serde(rename = "fr_SN")]
FrSn,
#[serde(rename = "fr_SY")]
FrSy,
#[serde(rename = "fr_TD")]
FrTd,
#[serde(rename = "fr_TG")]
FrTg,
#[serde(rename = "fr_TN")]
FrTn,
#[serde(rename = "fr_VU")]
FrVu,
#[serde(rename = "fr_WF")]
FrWf,
#[serde(rename = "fr_YT")]
FrYt,
#[serde(rename = "he")]
He,
#[serde(rename = "he_IL")]
HeIl,
#[serde(rename = "hr")]
Hr,
#[serde(rename = "hr_BA")]
HrBa,
#[serde(rename = "hr_HR")]
HrHr,
#[serde(rename = "hu")]
Hu,
#[serde(rename = "hu_HU")]
HuHu,
#[serde(rename = "id")]
Id,
#[serde(rename = "it")]
It,
#[serde(rename = "it_CH")]
ItCh,
#[serde(rename = "it_IT")]
ItIt,
#[serde(rename = "it_SM")]
ItSm,
#[serde(rename = "it_VA")]
ItVa,
#[serde(rename = "ja")]
Ja,
#[serde(rename = "ja_JP")]
JaJp,
#[serde(rename = "ko")]
Ko,
#[serde(rename = "ko_CN")]
KoCn,
#[serde(rename = "ko_KP")]
KoKp,
#[serde(rename = "ko_KR")]
KoKr,
#[serde(rename = "nb_NO")]
NbNo,
#[serde(rename = "nl")]
Nl,
#[serde(rename = "nl_AW")]
NlAw,
#[serde(rename = "nl_BE")]
NlBe,
#[serde(rename = "nl_BQ")]
NlBq,
#[serde(rename = "nl_CW")]
NlCw,
#[serde(rename = "nl_NL")]
NlNl,
#[serde(rename = "nl_SR")]
NlSr,
#[serde(rename = "nl_SX")]
NlSx,
#[serde(rename = "pa")]
Pa,
#[serde(rename = "pl")]
Pl,
#[serde(rename = "pl_PL")]
PlPl,
#[serde(rename = "pt")]
Pt,
#[serde(rename = "pt_AO")]
PtAo,
#[serde(rename = "pt_BR")]
PtBr,
#[serde(rename = "pt_CH")]
PtCh,
#[serde(rename = "pt_CV")]
PtCv,
#[serde(rename = "pt_GQ")]
PtGq,
#[serde(rename = "pt_GW")]
PtGw,
#[serde(rename = "pt_LU")]
PtLu,
#[serde(rename = "pt_MO")]
PtMo,
#[serde(rename = "pt_MZ")]
PtMz,
#[serde(rename = "pt_PT")]
PtPt,
#[serde(rename = "pt_ST")]
PtSt,
#[serde(rename = "pt_TL")]
PtTl,
#[serde(rename = "ro")]
Ro,
#[serde(rename = "ro_MD")]
RoMd,
#[serde(rename = "ro_RO")]
RoRo,
#[serde(rename = "ru")]
Ru,
#[serde(rename = "ru_BY")]
RuBy,
#[serde(rename = "ru_KG")]
RuKg,
#[serde(rename = "ru_KZ")]
RuKz,
#[serde(rename = "ru_MD")]
RuMd,
#[serde(rename = "ru_RU")]
RuRu,
#[serde(rename = "ru_UA")]
RuUa,
#[serde(rename = "sk")]
Sk,
#[serde(rename = "sk_SK")]
SkSk,
#[serde(rename = "sl")]
Sl,
#[serde(rename = "sv")]
Sv,
#[serde(rename = "sv_AX")]
SvAx,
#[serde(rename = "sv_FI")]
SvFi,
#[serde(rename = "sv_SE")]
SvSe,
#[serde(rename = "tr")]
Tr,
#[serde(rename = "tr_CY")]
TrCy,
#[serde(rename = "tr_TR")]
TrTr,
#[serde(rename = "uk")]
Uk,
#[serde(rename = "uk_UA")]
UkUa,
#[serde(rename = "vi")]
Vi,
#[serde(rename = "vi_VN")]
ViVn,
#[serde(rename = "zh_CN")]
ZhCn,
#[serde(rename = "zh_Hant")]
ZhHant,
#[serde(rename = "zh_Hant_TW")]
ZhHantTw,
}
impl Default for Locale {
fn default() -> Locale {
Self::Ar
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Roles {
#[serde(rename = "ROLE_TEAMLEAD")]
RoleTeamlead,
#[serde(rename = "ROLE_ADMIN")]
RoleAdmin,
#[serde(rename = "ROLE_SUPER_ADMIN")]
RoleSuperAdmin,
}
impl Default for Roles {
fn default() -> Roles {
Self::RoleTeamlead
}
}