use crate::utils;
use reqwest::{Client,Error};
use reqwest::header::{AUTHORIZATION, HeaderValue};
use serde::Deserialize;
use chrono::{DateTime,Utc};
#[derive(Debug,Deserialize)]
pub struct Me {
pub id: String,
pub email: String,
pub fname: String,
pub lname: String,
pub phone: String,
pub created_at: DateTime<Utc>,
}
pub async fn get_me() -> Result<Me,Error> {
let auth_token = utils::get_api_auth_token().unwrap();
let url_stem = utils::get_api_url_stem().unwrap();
let token = format!("Bearer {}", auth_token);
let url = format!("{}/api/v0/identity",url_stem);
let client = Client::new();
let response = client
.get(url)
.header (AUTHORIZATION, HeaderValue::from_str(&token).unwrap())
.send()
.await?
.error_for_status()?;
let p = response.json::<Me>().await?;
Ok(p)
}