use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Zone {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<Uuid>,
#[serde(skip_serializing_if = "Option::is_none")]
pub related_schedule: Option<Vec<Uuid>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub z_index: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub width: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub height: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub x_offset: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub y_offset: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub opacity: Option<String>,
}
impl Zone {
pub fn normalize(&self) -> Zone {
Zone {
id: self.id,
related_schedule: self.related_schedule.clone(),
z_index: self.z_index.clone(),
width: self.width.clone(),
height: self.height.clone(),
x_offset: self.x_offset.clone(),
y_offset: self.y_offset.clone(),
opacity: self.opacity.clone(),
}
}
}