polyoxide_gamma/api/
user.rs1use polyoxide_core::{QueryBuilder, Request};
2use reqwest::Client;
3use serde::{Deserialize, Serialize};
4use url::Url;
5
6use crate::error::GammaError;
7
8#[derive(Clone)]
10pub struct User {
11 pub(crate) client: Client,
12 pub(crate) base_url: Url,
13}
14
15impl User {
16 pub fn get(&self, signer_address: impl Into<String>) -> Request<UserResponse, GammaError> {
18 Request::new(
19 self.client.clone(),
20 self.base_url.clone(),
21 "/public-profile",
22 )
23 .query("address", signer_address.into())
24 }
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(rename_all = "camelCase")]
30pub struct UserResponse {
31 #[serde(rename = "proxyWallet")]
33 pub proxy: Option<String>,
34 pub address: Option<String>,
36 pub id: Option<String>,
38 pub name: Option<String>,
40}