#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ServiceEntity {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "type")]
pub _type: Type,
#[serde(rename = "cost")]
pub cost: String,
#[serde(rename = "firstPrePaidMinutes", skip_serializing_if = "Option::is_none")]
pub first_pre_paid_minutes: Option<f32>,
#[serde(rename = "firstVerificationsNeeded", skip_serializing_if = "Option::is_none")]
pub first_verifications_needed: Option<f32>,
#[serde(rename = "subsequentPrePaidMinutes", skip_serializing_if = "Option::is_none")]
pub subsequent_pre_paid_minutes: Option<f32>,
#[serde(rename = "subsequentVerificationsNeeded", skip_serializing_if = "Option::is_none")]
pub subsequent_verifications_needed: Option<f32>,
#[serde(rename = "allowRefunds", skip_serializing_if = "Option::is_none")]
pub allow_refunds: Option<bool>,
#[serde(rename = "downloadSpeed")]
pub download_speed: f32,
#[serde(rename = "uploadSpeed")]
pub upload_speed: f32,
#[serde(rename = "proxy", skip_serializing_if = "Option::is_none")]
pub proxy: Option<Vec<crate::models::ProxySettingsEntity>>,
#[serde(rename = "vpn", skip_serializing_if = "Option::is_none")]
pub vpn: Option<Vec<crate::models::VpnSettingsEntity>>,
#[serde(rename = "validity", skip_serializing_if = "Option::is_none")]
pub validity: Option<Box<crate::models::TimeRangeEntity>>,
#[serde(rename = "disable")]
pub disable: bool,
#[serde(rename = "certificates", skip_serializing_if = "Option::is_none")]
pub certificates: Option<Vec<crate::models::CertificatesEntity>>,
}
impl ServiceEntity {
pub fn new(id: String, name: String, _type: Type, cost: String, download_speed: f32, upload_speed: f32, disable: bool) -> ServiceEntity {
ServiceEntity {
id,
name,
_type,
cost,
first_pre_paid_minutes: None,
first_verifications_needed: None,
subsequent_pre_paid_minutes: None,
subsequent_verifications_needed: None,
allow_refunds: None,
download_speed,
upload_speed,
proxy: None,
vpn: None,
validity: None,
disable,
certificates: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "vpn")]
Vpn,
#[serde(rename = "proxy")]
Proxy,
}