use crate::models::prelude::{Embedded, ResponseLinks};
use crate::models::Response;
use derive_getters::Getters;
use serde::{Deserialize, Serialize};
#[derive(Default, Debug, Clone, Serialize, Deserialize, Getters)]
pub struct PaymentsResponse {
#[serde(rename = "_links")]
pub links: ResponseLinks,
#[serde(rename = "_embedded")]
pub embedded: Embedded<Payment>,
}
#[derive(Default, Debug, Clone, Serialize, Deserialize, Getters)]
pub struct Payment {
pub id: String,
pub paging_token: String,
pub transaction_successful: bool,
pub source_account: String,
#[serde(rename = "type")]
pub type_field: String,
pub type_i: i64,
pub created_at: String,
pub transaction_hash: String,
pub starting_balance: Option<String>,
pub funder: Option<String>,
pub account: Option<String>,
pub asset_type: Option<String>,
pub asset_code: Option<String>,
pub asset_issuer: Option<String>,
pub from: Option<String>,
pub to: Option<String>,
pub amount: Option<String>,
}
impl Response for PaymentsResponse {
fn from_json(json: String) -> Result<Self, String> {
serde_json::from_str(&json).map_err(|e| e.to_string())
}
}