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}