Skip to main content

origin_sdk/protocol/
auth.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
4pub struct AuthCode {
5    #[serde(rename = "@value")]
6    pub value: String,
7}
8
9#[derive(Debug, Serialize, Deserialize)]
10pub struct AuthToken {
11    #[serde(rename = "@value")]
12    pub value: String,
13}
14
15#[derive(Debug, Serialize, Deserialize)]
16pub struct Challenge {
17    #[serde(rename = "@key")]
18    pub key: String,
19    #[serde(rename = "@version")]
20    pub version: String,
21    #[serde(rename = "@build")]
22    pub build: String,
23}
24
25#[derive(Debug, Serialize, Deserialize)]
26pub struct ChallengeAccepted {
27    #[serde(rename = "@response")]
28    pub response: String,
29}
30
31#[derive(Debug, Serialize, Deserialize)]
32pub struct ChallengeResponse {
33    #[serde(rename = "@response")]
34    pub response: String,
35    #[serde(rename = "@key")]
36    pub key: String,
37    #[serde(rename = "@version")]
38    pub protocol_version: String,
39    #[serde(rename = "ContentId")]
40    pub content_id: String,
41    #[serde(rename = "Title")]
42    pub title: String,
43    #[serde(rename = "MultiplayerId")]
44    pub multiplayer_id: String,
45    #[serde(rename = "Language")]
46    pub language: String,
47    #[serde(rename = "Version")]
48    pub sdk_version: String,
49}
50
51#[derive(Debug, Serialize, Deserialize)]
52pub struct GetAuthCode {
53    #[serde(rename = "@UserId")]
54    pub user_id: u64,
55    #[serde(rename = "@ClientId")]
56    pub client_id: String,
57    #[serde(rename = "@Scope")]
58    pub scope: String,
59    #[serde(rename = "@AppendAuthSource")]
60    pub append_auth_source: bool,
61}
62
63#[derive(Debug, Serialize, Deserialize)]
64pub struct GetAuthToken;
65
66#[derive(Debug, Serialize, Deserialize)]
67pub struct Login {
68    #[serde(rename = "@IsLoggedIn")]
69    pub is_logged_in: bool,
70    #[serde(rename = "@UserIndex")]
71    pub user_index: i32,
72    #[serde(rename = "@LoginReasonCode")]
73    pub login_reason_code: LoginReasonCode,
74}
75
76#[derive(Debug, Serialize, Deserialize)]
77pub enum LoginReasonCode {
78    #[serde(rename = "UNDEFINED")]
79    Undefined,
80    #[serde(rename = "USER_INITIATED")]
81    UserInitiated,
82    #[serde(rename = "ALREADY_ONLINE")]
83    AlreadyOnline,
84    #[serde(rename = "NETWORK_ERROR")]
85    NetworkError,
86    #[serde(rename = "INVALID_CREDENTIALS")]
87    InvalidCredentials,
88    #[serde(rename = "ACCESSTOKEN_REFRESH_ERROR")]
89    AccesstokenRefreshError,
90}
91
92#[derive(Debug, Serialize, Deserialize)]
93pub struct Logout {
94    #[serde(rename = "@UserIndex")]
95    pub user_index: i32,
96}
97
98#[derive(Debug, Serialize, Deserialize)]
99pub struct PostWincodes {
100    #[serde(rename = "Code", default)]
101    pub codes: Vec<Wincode>,
102    #[serde(rename = "@AuthCode")]
103    pub auth_code: String,
104    #[serde(rename = "@UserId")]
105    pub user_id: u64,
106    #[serde(rename = "@PersonaId")]
107    pub persona_id: u64,
108}
109
110#[derive(Debug, Serialize, Deserialize)]
111pub struct Wincode {
112    #[serde(rename = "@key")]
113    pub key: String,
114    #[serde(rename = "@value")]
115    pub value: String,
116}