journallib/dto/
mark_request.rs

1use 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 {}