teacherlib/dto/
lesson_feedback_request.rs

1use crate::enums::lesson_feedback_status::LessonFeedbackStatus;
2use crate::jsonb::log::Log;
3use crate::jsonb::record_feedback::RecordFeedback;
4use chrono::naive::serde::ts_milliseconds;
5use chrono::NaiveDateTime;
6use common::entity::DtoReq;
7use common::enums::subject::Subject;
8use serde::{Deserialize, Serialize};
9use uuid::Uuid;
10
11#[derive(Serialize, Deserialize, Debug, Clone)]
12#[serde(rename_all = "camelCase")]
13pub struct LessonFeedbackRequest {
14    pub id: Option<Uuid>,
15    pub path: String,
16    pub teacher: Uuid,
17    pub support_orgs: Vec<Uuid>,
18    pub support_users: Vec<Uuid>,
19    pub comments: Vec<RecordFeedback>,
20    pub status: LessonFeedbackStatus,
21    pub subject: Subject,
22    pub description: String,
23    #[serde(with = "ts_milliseconds")]
24    pub submitted_at: NaiveDateTime,
25    pub log: Vec<Log>,
26    pub year: i32,
27}
28
29impl DtoReq for LessonFeedbackRequest {}