Files
bakalari-types/src/absence.rs
2026-10-25 13:51:57 +01:00

36 lines
900 B
Rust

use chrono::Utc;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct Absence {
pub percentage_threshold: f64, //TODO: cutom type (u8)
pub absences: Vec<AbsenceListItem>,
pub absences_per_subject: Vec<SubjectAbsence>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct AbsenceListItem {
pub date: chrono::DateTime<Utc>,
pub unsolved: u16,
pub ok: u16,
pub missed: u16,
pub late: u16,
pub soon: u16,
pub school: u16,
pub distance_teaching: u16,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct SubjectAbsence {
pub subject_name: String,
pub lessons_count: u16,
pub base: u16,
pub late: u16,
pub soon: u16,
pub school: u16,
pub distance_teaching: u16,
}