added module enum
This commit is contained in:
3 files changed
+196
-10
No files matched your search
+3
-2
@@ -9,6 +9,7 @@ mod gdpr;
|
||||
mod homework; //TDOS
|
||||
//marking
|
||||
mod marks;
|
||||
mod modules;
|
||||
mod payments;
|
||||
mod semester;
|
||||
mod stdtype;
|
||||
@@ -31,11 +32,11 @@ pub use gdpr::{
|
||||
};
|
||||
pub use homework::{HomeworkList, HomeworkListItem};
|
||||
pub use marks::{Mark, MarkConfirmationStatus, Marks, SubjectMarks};
|
||||
pub use modules::*;
|
||||
pub use payments::*;
|
||||
pub use semester::{
|
||||
CertificateTerm, CertificateTerms, FinalMark, PedagogicalMeasure, PedagogicalMeasures,
|
||||
};
|
||||
pub use stdtype::*;
|
||||
pub use stdtype::{
|
||||
Room, RoomSet, SchoolClass, SchoolClassSet, StdClassGroup, StdType, StdTypeNullable, Student,
|
||||
Teacher, TeacherSet, TimetableStudent,
|
||||
@@ -46,4 +47,4 @@ pub use substitutions::{
|
||||
};
|
||||
pub use teaching::{Lesson, Teaching, TeachingTheme};
|
||||
pub use timetable::*;
|
||||
pub use user::{Module, UserInfo, UserInfoStudent, UserType, SchoolType};
|
||||
pub use user::{SchoolType, UserInfo, UserInfoStudent, UserType};
|
||||
+192
@@ -0,0 +1,192 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
#[serde(tag = "Module")]
|
||||
pub enum Module {
|
||||
Absence { rights: Vec<AbsenceRights> },
|
||||
AccessSystem { rights: Vec<AccessSystemRights> },
|
||||
Application { rights: Vec<ApplicationRights> },
|
||||
Campaign { rights: Vec<CampaignRights> },
|
||||
Classbook { rights: Vec<ClassbookRights> },
|
||||
Emergency { rights: Vec<EmergencyRights> },
|
||||
Events { rights: Vec<EventsRights> },
|
||||
Gdpr { rights: Vec<GdprRights> },
|
||||
Homeworks { rights: Vec<HomeworksRights> },
|
||||
Komens { rights: Vec<KomensRights> },
|
||||
Marking { rights: Vec<MarkingRights> },
|
||||
Marks { rights: Vec<MarksRights> },
|
||||
Payments { rights: Vec<PaymentsRights> },
|
||||
Semester { rights: Vec<SemesterRights> },
|
||||
Subjects { rights: Vec<SubjectsRights> },
|
||||
Substitutions { rights: Vec<SubstitutionsRights> },
|
||||
Teaching { rights: Vec<TeachingRights> },
|
||||
Timetable { rights: Vec<TimetableRights> },
|
||||
Unknown { rights: Vec<UnknownRights> },
|
||||
UserAccount { rights: Vec<UserAccountRights> },
|
||||
WebBased { rights: Vec<WebBasedRights> },
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum AbsenceRights {
|
||||
ShowAbsence,
|
||||
ShowAbsencePercentage,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum AccessSystemRights {
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum ApplicationRights {
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum CampaignRights {
|
||||
ShowCampaign,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum ClassbookRights {
|
||||
CanExcuseAbsence,
|
||||
EditClassBook,
|
||||
ShowClassBook,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum EmergencyRights {
|
||||
CanAccessEmergency,
|
||||
CanBeEmergencyParticipant,
|
||||
CanManageEmergencies,
|
||||
CanOverseeEmergencyParticipants,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum EventsRights {
|
||||
ShowEvents,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum GdprRights {
|
||||
ShowChildConsents,
|
||||
ShowCommissioners,
|
||||
ShowOwnConsents,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum HomeworksRights {
|
||||
ShowHomeworks,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum KomensRights {
|
||||
SendAttachments,
|
||||
SendMessageAsDirector,
|
||||
SendMessages,
|
||||
ShowApologyMessages,
|
||||
ShowNoticeBoardMessages,
|
||||
ShowRatingDetails,
|
||||
ShowRatingMessage,
|
||||
ShowReceivedMessages,
|
||||
ShowSentMessages,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum MarkingRights {
|
||||
EditMarks,
|
||||
ShowMarking,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum MarksRights {
|
||||
CanConfirmClassification,
|
||||
PredictMarks,
|
||||
ShowFinalMarks,
|
||||
ShowManners,
|
||||
ShowMarks,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum PaymentsRights {
|
||||
ClassFundEnabled,
|
||||
ClassFundPaymentsEnabled,
|
||||
RegularPaymentsEnabled,
|
||||
ShowClassFundDetails,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum SemesterRights {
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum SubjectsRights {
|
||||
ShowSubjectThemes,
|
||||
ShowSubjects,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum SubstitutionsRights {
|
||||
ShowSubstitutions,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum TeachingRights {
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum TimetableRights {
|
||||
ShowTimetable,
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum UnknownRights {
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum UserAccountRights {
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub enum WebBasedRights {
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
+1
-8
@@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
|
||||
use serde_json::Value;
|
||||
use std::collections::HashMap;
|
||||
|
||||
use crate::SchoolClass;
|
||||
use crate::{Module, SchoolClass};
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "PascalCase")]
|
||||
@@ -33,13 +33,6 @@ pub enum UserType {
|
||||
Teacher,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "PascalCase")]
|
||||
pub struct Module {
|
||||
pub module: String, //Make an Enum "absence", "accesssystem", "application", "campaign", "classbook", "emergency", "events", "gdpr", "homeworks", "komens", "marking", "marks", "payments", "semester", "subjects", "substitutions", "teaching", "timetable", "unknown", "user_account", "web_based"
|
||||
pub rights: Vec<String>, //Make enum "CanAccessEmergency", "CanBeEmergencyParticipant", "CanConfirmClassification", "CanExcuseAbsence", "CanManageEmergencies", "CanOverseeEmergencyParticipants", "ClassFundEnabled", "ClassFundPaymentsEnabled", "EditClassBook", "EditMarks", "PredictMarks", "RegularPaymentsEnabled", "SendAttachments", "SendMessageAsDirector", "SendMessages", "ShowAbsence", "ShowAbsencePercentage", "ShowApologyMessages", "ShowCampaign", "ShowChildConsents", "ShowClassBook", "ShowClassFundDetails", "ShowCommissioners", "ShowEvents", "ShowFinalMarks", "ShowHomeworks", "ShowManners", "ShowMarking", "ShowMarks", "ShowNoticeBoardMessages", "ShowOwnConsents", "ShowRatingDetails", "ShowRatingMessage", "ShowReceivedMessages", "ShowSentMessages", "ShowSubjectThemes", "ShowSubjects", "ShowSubstitutions", "ShowTimetable", "Unknown"
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "PascalCase")]
|
||||
pub struct UserInfoStudent {
|
||||
|
||||
Reference in new issue
Block a user