use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum LineItem {
Subscription(Box<models::Subscription>),
Addon(Box<models::Addon>),
Meter(Box<models::Meter>),
}
impl Default for LineItem {
fn default() -> Self {
Self::Subscription(Default::default())
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "subscription")]
Subscription,
#[serde(rename = "addon")]
Addon,
#[serde(rename = "meter")]
Meter,
}
impl Default for Type {
fn default() -> Type {
Self::Subscription
}
}