/* Options: Date: 2026-11-07 02:58:19 Version: 10.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bettor.webhop.biz //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RegisterUserAccount.* //ExcludeTypes: //DefaultImports: serde::{Deserialize, Serialize},serde_json::Value,std::collections::HashMap */ #![allow( dead_code, non_camel_case_types, non_snake_case, clippy::upper_case_acronyms )] use serde::{Deserialize, Serialize}; use serde_json::Value; use servicestack::*; use std::collections::HashMap; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Ref { pub id: String, pub val: String, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct GPSCoordinates { pub lat: f64, pub lng: f64, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Address { pub street: String, pub city: String, pub state: String, #[serde(rename = "postalCode")] pub postal_code: String, pub country: Ref, pub gps: GPSCoordinates, pub data: RecordDictionary, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct RecordDictionary(pub HashMap); #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct RecordList(pub Vec); #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct LoginCredentials { #[serde(default, skip_serializing_if = "Option::is_none")] pub username: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub password: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Name { #[serde(default, skip_serializing_if = "Option::is_none")] pub first: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub last: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub full: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ContactInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub phone: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub email: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Person { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub address: Option
, #[serde(rename = "dateOfBirth")] #[serde(default, skip_serializing_if = "Option::is_none")] pub date_of_birth: Option, #[serde(rename = "contactInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub contact_info: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct AvatarImage { #[serde(default, skip_serializing_if = "Option::is_none")] pub base64: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub tag: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct NewUserDTO { #[serde(rename = "externalUserId")] #[serde(default, skip_serializing_if = "Option::is_none")] pub external_user_id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub credentials: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub person: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub roles: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub avatar: Option, } // Route("/cmd/users/register", "POST") #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct RegisterUserAccount { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(rename = "newUserDTO")] #[serde(default, skip_serializing_if = "Option::is_none")] pub new_user_d_t_o: Option, } impl IRequest for RegisterUserAccount { const NAME: &'static str = "RegisterUserAccount"; const VERB: &'static str = "POST"; } impl IReturn for RegisterUserAccount { type Response = ResponseStatus; }