galoy-cli 0.1.7

A CLI Client for interacting with Galoy Backend
Documentation
use crate::client::{
    errors::{api_error::ApiError, me_error::MeError, ClientError},
    queries::{query_me, QueryMe, QueryMeMe},
    GaloyClient,
};
use graphql_client::reqwest::post_graphql;

impl GaloyClient {
    pub async fn me(&self) -> Result<QueryMeMe, ClientError> {
        let variables = query_me::Variables;

        let response_body = post_graphql::<QueryMe, _>(&self.graphql_client, &self.api, variables)
            .await
            .map_err(|err| ApiError::IssueGettingResponse(anyhow::Error::new(err)))?;

        let response_data = response_body.data.ok_or(ApiError::IssueParsingResponse)?;
        let me = response_data.me.ok_or(MeError::FailedToUnwrapMe)?;
        Ok(me)
    }
}