journallib/dto/
journal_response.rs1use 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 {}