galoy-cli 0.1.7

A CLI Client for interacting with Galoy Backend
Documentation
use graphql_client::GraphQLQuery;

use self::captcha_create_challenge::ResponseData;
use rust_decimal::Decimal;

type Phone = String;
type AuthToken = String;
type OneTimeAuthCode = String;
type Username = String;
type WalletId = String;
type SignedAmount = Decimal;
type SatAmount = Decimal;
type CentAmount = Decimal;
type Memo = String;
type OnChainAddress = String;
type DisplayCurrency = String;
type Timestamp = i128;
type SafeInt = i128;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/queries/globals.gql",
    response_derives = "Debug, Serialize"
)]
pub(super) struct QueryGlobals;
pub use self::query_globals::QueryGlobalsGlobals;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/mutations/user_login.gql",
    response_derives = "Debug, Serialize"
)]
pub(super) struct UserLogin;
pub use self::user_login::UserLoginInput;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/mutations/user_logout.gql",
    response_derives = "Debug, Serialize"
)]
pub(super) struct UserLogout;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/mutations/captcha_create_challenge.gql",
    response_derives = "Debug, Serialize"
)]
pub struct CaptchaCreateChallenge;

pub struct CaptchaChallenge {
    pub id: String,
    pub challenge_code: String,
    pub new_captcha: bool,
    pub failback_mode: bool,
}

impl TryFrom<ResponseData> for CaptchaChallenge {
    type Error = CaptchaError;

    fn try_from(response: ResponseData) -> Result<Self, Self::Error> {
        let result = response.captcha_create_challenge.result;
        let challenge = result.ok_or(CaptchaError::EmptyCaptcha)?;

        let (id, challenge_code, new_captcha, failback_mode) = (
            challenge.id,
            challenge.challenge_code,
            challenge.new_captcha,
            challenge.failback_mode,
        );
        Ok(CaptchaChallenge {
            id,
            challenge_code,
            new_captcha,
            failback_mode,
        })
    }
}

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/mutations/captcha_request_auth_code.gql",
    response_derives = "Debug, Serialize"
)]
pub struct CaptchaRequestAuthCode;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/queries/me.gql",
    response_derives = "Debug, Serialize, PartialEq"
)]
pub struct QueryMe;
pub use self::query_me::QueryMeMe;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/mutations/user_update_username.gql",
    response_derives = "Debug, Serialize"
)]
pub(super) struct UserUpdateUsername;
pub use self::user_update_username::UserUpdateUsernameInput;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/mutations/account_update_default_wallet_id.gql",
    response_derives = "Debug, Serialize"
)]
pub(super) struct AccountUpdateDefaultWalletId;
pub use self::account_update_default_wallet_id::AccountUpdateDefaultWalletIdInput;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/queries/default_wallet.gql",
    response_derives = "Debug, Serialize"
)]
pub(super) struct QueryDefaultWallet;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/mutations/intraledger_send.gql",
    response_derives = "Debug, Serialize"
)]
pub(super) struct IntraLedgerPaymentSend;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/mutations/intraledger_usd_send.gql",
    response_derives = "Debug, Serialize"
)]
pub(super) struct IntraLedgerUsdPaymentSend;
pub use self::intra_ledger_usd_payment_send::IntraLedgerUsdPaymentSendInput;

use super::errors::captcha_error::CaptchaError;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/mutations/onchain_address_current.gql",
    response_derives = "Debug, Serialize"
)]
pub(super) struct OnChainAddressCurrent;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/mutations/onchain_payment_send.gql",
    response_derives = "Debug, Serialize"
)]
pub(super) struct OnChainPaymentSend;
pub use self::on_chain_payment_send::OnChainPaymentSendInput;
pub use self::on_chain_payment_send::PayoutSpeed;

#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "src/client/gql/schema.gql",
    query_path = "src/client/gql/queries/real_time_price.gql",
    response_derives = "Debug, Serialize"
)]
pub(super) struct RealtimePrice;
pub use self::realtime_price::RealtimePriceRealtimePrice;
pub use self::realtime_price::RealtimePriceRealtimePriceBtcSatPrice;