nexgenomics 0.2.11

The official Rust crate for NexGenomics
Documentation
// src/api.rs


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)
}