use chrono::NaiveDateTime;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum ApplicationStatus {
Enabled,
Disabled,
Revoked,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Application {
pub name: String,
pub api_key: String,
pub status: ApplicationStatus,
pub allowance_account_overall: u32,
pub allowance_account_trading: u32,
pub allowance_application_overall: u32,
pub concurrent_subscriptions_limit: u32,
pub allow_equities: bool,
pub allow_quote_orders: bool,
pub created_date: NaiveDateTime,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UpdateApplicationRequest {
pub api_key: String,
pub status: ApplicationStatus,
pub allowance_account_overall: u32,
pub allowance_account_trading: u32,
}