artifacts/models/
event_schema.rs1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct EventSchema {
7 #[serde(rename = "name")]
9 pub name: String,
10 #[serde(rename = "code")]
12 pub code: String,
13 #[serde(rename = "content")]
15 pub content: Box<models::EventContentSchema>,
16 #[serde(rename = "maps")]
18 pub maps: Vec<models::EventMapSchema>,
19 #[serde(rename = "duration")]
21 pub duration: i32,
22 #[serde(rename = "rate")]
24 pub rate: i32,
25}
26
27impl EventSchema {
28 pub fn new(
29 name: String,
30 code: String,
31 content: models::EventContentSchema,
32 maps: Vec<models::EventMapSchema>,
33 duration: i32,
34 rate: i32,
35 ) -> EventSchema {
36 EventSchema {
37 name,
38 code,
39 content: Box::new(content),
40 maps,
41 duration,
42 rate,
43 }
44 }
45}