Files
node/src/requests/auth.rs
T

26 lines
725 B
Rust

use std::sync::Arc;
use serde::Deserialize;
use crate::{ErrorContext, logger};
use crate::{server::Server, utils::client::Client};
logger!(LOGGER "Auth");
#[derive(Debug, Deserialize)]
struct AuthApiRes {
user_id: String,
}
pub fn auth(_server: &Arc<Server>, client: &mut Client, token: &str) -> crate::Result<String> {
let mut res = ureq::get(format!(
"http://localhost:3000/api/auth?intents=server&token={token}"
))
.call()
.context("Failed to authenticate")?;
let api_res: AuthApiRes = serde_json::from_str(&res.body_mut().read_to_string()?)?;
client.set_uuid(&api_res.user_id);
LOGGER.info(format!("{} successfully authenticated", api_res.user_id));
Ok(api_res.user_id)
}