alpaca-mock 0.30.0

Executable mock server for alpaca-rust trading and market-data flows
Documentation
use alpaca_trade::{
    account::Account,
    account_configurations::{AccountConfigurations, UpdateRequest},
};
use axum::{Json, extract::State};

use crate::auth::AuthenticatedAccount;
use crate::state::MockServerState;

pub(crate) async fn account_get(
    State(state): State<MockServerState>,
    axum::extract::Extension(account): axum::extract::Extension<AuthenticatedAccount>,
) -> Json<Account> {
    Json(state.project_account(&account.api_key))
}

pub(crate) async fn account_configurations_get(
    State(state): State<MockServerState>,
    axum::extract::Extension(account): axum::extract::Extension<AuthenticatedAccount>,
) -> Json<AccountConfigurations> {
    Json(state.project_account_configurations(&account.api_key))
}

pub(crate) async fn account_configurations_update(
    State(state): State<MockServerState>,
    axum::extract::Extension(account): axum::extract::Extension<AuthenticatedAccount>,
    Json(request): Json<UpdateRequest>,
) -> Json<AccountConfigurations> {
    Json(state.update_account_configurations(&account.api_key, request))
}