Skip to main content

origin_sdk/protocol/
profile.rs

1use serde::{Deserialize, Serialize};
2
3use crate::protocol::user::User;
4
5#[derive(Debug, Serialize, Deserialize)]
6pub struct GetProfile {
7    #[serde(rename = "@index")]
8    pub index: i32,
9}
10
11#[derive(Debug, Serialize, Deserialize)]
12pub struct GetProfileResponse {
13    #[serde(rename = "@UserIndex")]
14    pub user_index: i32,
15    #[serde(rename = "@UserId")]
16    pub user_id: u64,
17    #[serde(rename = "@PersonaId")]
18    pub persona_id: u64,
19    #[serde(rename = "@Persona")]
20    pub persona: String,
21    #[serde(rename = "@AvatarId")]
22    pub avatar_id: String,
23    #[serde(rename = "@Country")]
24    pub country: String,
25    #[serde(rename = "@IsUnderAge")]
26    pub is_under_age: bool,
27    #[serde(rename = "@IsSubscriber")]
28    pub is_subscriber: bool,
29    #[serde(rename = "@IsTrialSubscriber")]
30    pub is_trial_subscriber: bool,
31    #[serde(rename = "@SubscriberLevel")]
32    pub subscriber_level: i32,
33    #[serde(rename = "@GeoCountry")]
34    pub geo_country: String,
35    #[serde(rename = "@CommerceCountry")]
36    pub commerce_country: String,
37    #[serde(rename = "@CommerceCurrency")]
38    pub commerce_currency: String,
39    #[serde(rename = "@IsSteamSubscriber")]
40    pub is_steam_subscriber: bool,
41}
42
43#[derive(Debug, Serialize, Deserialize)]
44pub struct GetUserProfileByEmailorEaid {
45    #[serde(rename = "@KeyWord")]
46    pub key_word: String,
47}
48
49#[derive(Debug, Serialize, Deserialize)]
50pub struct GetUserProfileByEmailorEaidResponse {
51    #[serde(rename = "@Return")]
52    pub r#return: String,
53    #[serde(rename = "User", default)]
54    pub user: Vec<User>,
55}
56
57#[derive(Debug, Serialize, Deserialize)]
58pub struct ProfileEvent {
59    #[serde(rename = "@Changed")]
60    pub changed: ProfileStateChange,
61    #[serde(rename = "@UserId")]
62    pub user_id: u64,
63}
64
65#[derive(Debug, Serialize, Deserialize)]
66pub enum ProfileStateChange {
67    #[serde(rename = "UNKNOWN")]
68    Unknown,
69    #[serde(rename = "EAID")]
70    Eaid,
71    #[serde(rename = "AVATAR")]
72    Avatar,
73    #[serde(rename = "SUBSCRIPTION")]
74    Subscription,
75}