use serde::{Deserialize, Serialize};
use crate::entities::{paid_media::PaidMedia, user::User};
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct TransactionPartnerUser {
pub user: User,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub invoice_payload: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subscription_period: Option<i64>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub paid_media: Vec<PaidMedia>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub paid_media_payload: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gift: Option<String>,
}