journallib/dto/
journal_response.rs

1use common::entity::DtoResp;
2use common::enums::grading_system_type::GradingSystemType;
3use common::enums::status::Status;
4use serde::{Deserialize, Serialize};
5use uuid::Uuid;
6
7use crate::dto::lesson_response::LessonResponse;
8
9#[derive(Serialize, Deserialize, Debug, Clone)]
10#[serde(rename_all = "camelCase")]
11pub struct JournalResponse {
12    pub id: Uuid,
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub ver: Option<i32>,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub teacher: Option<Uuid>,
17    pub subgroup: Uuid,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub study_period: Option<Uuid>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub organization: Option<Uuid>,
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub curriculum: Option<Uuid>,
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub grading_system: Option<GradingSystemType>,
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub status: Option<Status>,
28    #[serde(skip_serializing_if = "Option::is_none")]
29    pub syllabus: Option<Uuid>,
30    pub lessons: Vec<LessonResponse>,
31    #[serde(skip_serializing_if = "Option::is_none")]
32    pub avg_mark: Option<f32>,
33}
34
35impl DtoResp for JournalResponse {}