From 21a091a8cdb181c73e355b379afa2951682a6f92 Mon Sep 17 00:00:00 2001 From: vextrixes <113197359+vextrixes@users.noreply.github.com> Date: Sun, 25 Oct 2026 17:27:49 +0100 Subject: [PATCH] merged types to StdClassGroup --- src/lesson.rs | 4 +++- src/lib.rs | 7 ++----- src/stdtype.rs | 9 +++++++++ src/timetable.rs | 13 ++----------- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/lesson.rs b/src/lesson.rs index d810187..35552d0 100644 --- a/src/lesson.rs +++ b/src/lesson.rs @@ -1,5 +1,7 @@ use serde::{Deserialize, Serialize}; +use crate::StdClassGroup; + #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "PascalCase")] pub struct LessonAbsence { @@ -29,7 +31,7 @@ pub struct LessonHour { pub struct AbsencesGroup { pub students_absences: Vec, pub absent_type_options: Vec, - // "Group": {"ClassId": "1A", "Id": "AA", "Abbrev": "1.A", "Name": "1.A"} + pub group: StdClassGroup, } #[derive(Debug, Clone, Serialize, Deserialize)] diff --git a/src/lib.rs b/src/lib.rs index 4d08598..61e87dc 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,14 +30,11 @@ pub use lesson::{ }; pub use marks::{Mark, Marks, SubjectMarks}; pub use payments::{AddBalance, ClassfundPayments, ClassfundSummary, Payment, PaymentMonthlyData}; -pub use stdtype::StdType; +pub use stdtype::{StdClassGroup, StdType}; pub use subjects::{Subject, Subjects}; pub use substitutions::{SubstitutionChange, Substitutions}; pub use themes::{Theme, Themes}; -pub use timetable::{ - Timetable, TimetableAtom, TimetableChange, TimetableDay, TimetableGroup, - TimetableHour, -}; +pub use timetable::{Timetable, TimetableAtom, TimetableChange, TimetableDay, TimetableHour}; pub use user::{Module, User}; pub use webmodules::{Webmodule, Webmodules}; pub use what_if::{WhatIfResult, WhatIfResultMark, WhatIfStartingEnviromentMark}; diff --git a/src/stdtype.rs b/src/stdtype.rs index b43e511..e1cca1c 100644 --- a/src/stdtype.rs +++ b/src/stdtype.rs @@ -7,3 +7,12 @@ pub struct StdType { pub abbrev: String, pub name: String, } + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct StdClassGroup { + pub class_id: String, + pub id: String, + pub abbrev: String, + pub name: String, +} diff --git a/src/timetable.rs b/src/timetable.rs index 85bea5f..458094d 100644 --- a/src/timetable.rs +++ b/src/timetable.rs @@ -1,7 +1,7 @@ use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; -use crate::StdType; +use crate::{StdClassGroup, StdType}; #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "PascalCase")] @@ -9,7 +9,7 @@ pub struct Timetable { pub hours: Vec, pub days: Vec, pub classes: Vec, - pub groups: Vec, + pub groups: Vec, pub subjects: Vec, pub teachers: Vec, pub rooms: Vec, @@ -61,12 +61,3 @@ pub struct TimetableChange { pub type_abbrev: Option, pub type_name: Option, } - -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(rename_all = "PascalCase")] -pub struct TimetableGroup { - pub class_id: String, - pub id: String, - pub abbrev: String, - pub name: String, -}