diff --git a/src/error.rs b/src/error.rs index 0d66c0e..7d6cd61 100644 --- a/src/error.rs +++ b/src/error.rs @@ -4,4 +4,22 @@ use serde::{Deserialize, Serialize}; #[serde(rename_all = "PascalCase")] pub struct Error { message: String, + model_state: ModelState, } + + +#[derive(Debug, Clone, Serialize, Deserialize)] +struct ModelState { + #[serde(rename = "$type")] + type_name: String, + #[serde(rename = "from")] + from: StringArray, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +struct StringArray { + #[serde(rename = "$type")] + type_name: String, + #[serde(rename = "$values")] + values: Vec, +} \ No newline at end of file diff --git a/src/events.rs b/src/events.rs new file mode 100644 index 0000000..baa48ea --- /dev/null +++ b/src/events.rs @@ -0,0 +1,36 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use crate::StdType; + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct Events { + events: Vec, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct Event { + id: String, + title: String, + description: String, + times: Vec