journallib/dto/
mark_request.rs1use common::entity::DtoReq;
2use common::enums::status::Status;
3use serde::{Deserialize, Serialize};
4use uuid::Uuid;
5
6use crate::enums::absent_mark::AbsentMark;
7use crate::enums::absent_reason::AbsentReason;
8use crate::enums::mark_type::MarkType;
9
10#[derive(Serialize, Deserialize, Debug, Clone)]
11#[serde(rename_all = "camelCase")]
12pub struct MarkRequest {
13 pub id: Option<Uuid>,
14 pub is_always_output: Option<i32>,
15 pub weight: Option<i32>,
16 pub reasons: Option<Vec<Uuid>>,
17 pub status: Option<Status>,
18 pub comment: Option<String>,
19 pub student: Uuid,
20 pub teacher: Uuid,
21 pub lesson: Uuid,
22 pub mark_type: Option<MarkType>,
23 pub attachment: Option<String>,
24 pub absent_reason: Option<AbsentReason>,
25 pub absence: Option<Uuid>,
26 pub absent_mark: Option<AbsentMark>,
27 pub suspension: Option<Uuid>,
28}
29
30impl DtoReq for MarkRequest {}