ore_types/
request.rs

1use serde::{Deserialize, Serialize};
2
3/// Request body for the login endpoint.
4#[derive(Deserialize, Serialize, Debug, Clone)]
5pub struct AuthRequest {
6    pub message: String,       // Arbitrary message signed by the client
7    pub client_pubkey: String, // Client's public key as a string
8    pub signature: String,     // Base64 URL encoded signature of the message string
9}
10
11/// Request body for updating a user's username.
12#[derive(Deserialize, Serialize, Debug, Clone)]
13pub struct UsernameUpdateRequest {
14    pub username: String,
15}
16
17/// Request body for validating a username.
18#[derive(Deserialize, Serialize, Debug, Clone)]
19pub struct UsernameValidateRequest {
20    pub username: String,
21    pub authority: String, // The authority checking the username (to allow validating their own username)
22}
23
24/// Request body for verifying a Discord code.
25#[derive(Deserialize, Serialize, Debug, Clone)]
26pub struct DiscordAuthRequest {
27    pub code: String,
28    pub redirect_uri: String,
29}
30
31/// Request body for Google OAuth authentication.
32#[derive(Deserialize, Serialize, Debug, Clone)]
33pub struct GoogleAuthRequest {
34    pub id_token: String,
35}
36
37/// Request body for adding/removing a reaction to a chat message.
38#[derive(Deserialize, Serialize, Debug, Clone)]
39pub struct ChatReactRequest {
40    pub message_id: u64,
41    pub emoji: String,
42}