use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "specta", derive(specta::Type))]
pub struct EventSchema {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "code")]
pub code: String,
#[serde(rename = "content")]
pub content: Box<models::EventContentSchema>,
#[serde(rename = "maps")]
pub maps: Vec<models::EventMapSchema>,
#[serde(rename = "duration")]
pub duration: i32,
#[serde(rename = "rate")]
pub rate: i32,
}
impl EventSchema {
pub fn new(
name: String,
code: String,
content: models::EventContentSchema,
maps: Vec<models::EventMapSchema>,
duration: i32,
rate: i32,
) -> EventSchema {
EventSchema {
name,
code,
content: Box::new(content),
maps,
duration,
rate,
}
}
}