added Events

This commit is contained in:
vextrixes committed 2026-10-24 19:45:29 +02:00
1 parent ee0bc20e15
commit f8db5881a6
4 files changed
+67

No files matched your search

+18
View File
@@ -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<String>,
}
+36
View File
@@ -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<Event>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct Event {
id: String,
title: String,
description: String,
times: Vec<Time>,
event_type: StdType,
classes: Vec<StdType>,
//class_sets: unknown
teachers: Vec<StdType>,
//teacher_sets: unknown
rooms: Vec<StdType>,
//room_sets: unknown
students: Vec<StdType>,
note: Option<String>,
date_changed: DateTime<Utc>
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct Time {
whole_day: bool,
start_time: DateTime<Utc>,
end_time: DateTime<Utc>,
}
+4
View File
@@ -1,7 +1,11 @@
mod absence;
mod api_info;
mod error;
mod events;
mod stdtype;
pub use absence::{Absence, AbsenceListItem, SubjectAbsence};
pub use api_info::ApiInfo;
pub use error::Error;
pub use events::Events;
pub use stdtype::StdType;
+9
View File
@@ -0,0 +1,9 @@
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct StdType {
id: String,
abbrev: String,
name: String,
}