diff --git a/src/lib.rs b/src/lib.rs index 7660ea3..bfe17d1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,6 +7,7 @@ mod homework; mod marks; mod stdtype; mod subjects; +mod themes; mod user; pub use absence::{Absence, AbsenceListItem, SubjectAbsence}; @@ -18,4 +19,5 @@ pub use homework::{Homework, HomeworkListItem}; pub use marks::{Mark, Marks, SubjectMarks}; pub use stdtype::StdType; pub use subjects::{Subject, Subjects}; +pub use themes::{Theme, Themes}; pub use user::{Module, User}; diff --git a/src/themes.rs b/src/themes.rs new file mode 100644 index 0000000..df95f58 --- /dev/null +++ b/src/themes.rs @@ -0,0 +1,20 @@ +use crate::StdType; +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct Themes { + pub subject: StdType, + pub themes: Vec, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct Theme { + pub date: DateTime, + pub theme: String, + pub note: String, + pub hour_caption: String, + pub lesson_label: String, +} diff --git a/src/user.rs b/src/user.rs index e3727b3..1f9e1df 100644 --- a/src/user.rs +++ b/src/user.rs @@ -18,7 +18,7 @@ pub struct User { pub study_year: u8, pub enabled_modules: Vec, //TODO: user SettingModules pub full_user_name: String, - pub students: Vec + pub students: Vec, } #[derive(Debug, Clone, Serialize, Deserialize)] @@ -28,12 +28,11 @@ pub struct Module { pub rights: Vec, } - #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "PascalCase")] -pub struct Student{ +pub struct Student { full_name: String, class: Vec, school_type: String, - study_year: u8 -} \ No newline at end of file + study_year: u8, +} diff --git a/tracker.md b/tracker.md index e98a507..b5f39e8 100644 --- a/tracker.md +++ b/tracker.md @@ -12,7 +12,7 @@ - [ ] payments - [x] subjects - [ ] substitutions -- [ ] themes +- [x] themes - [ ] timetable - [x] user - [ ] user SettingModules