teacherlib/dto/
lesson_feedback_request.rs1use 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 {}