paymentlib/dto/
payment_request.rsuse crate::dto::project_request::ProjectRequest;
use chrono::NaiveDateTime;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::enums::gateway::Gateway;
use crate::enums::payment_status::PaymentStatus;
use crate::jsonb::details::Details;
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct PaymentRequest {
pub id: Option<Uuid>,
pub ver: Option<i32>,
pub payee: Option<Uuid>,
pub comment: Option<String>,
pub currency: String,
pub status: Option<PaymentStatus>,
pub payment_type: String,
pub amount: f64,
pub payment_id: Option<String>,
pub details: Option<Vec<Details>>,
pub invoice: Option<Uuid>,
pub card: Option<Uuid>,
pub date: Option<NaiveDateTime>,
pub gateway: Gateway,
pub payer: Option<Uuid>,
pub project: Option<ProjectRequest>,
pub installment: Option<Uuid>,
}