userlib/dto/
enrolment_response.rs1use crate::jsonb::acknowledgement::AcknowledgementForm;
2use crate::jsonb::additional::AdditionalForm;
3use crate::jsonb::emergency_contacts::EmergencyDetails;
4use crate::jsonb::extra::ExtraForm;
5use crate::jsonb::history::HistoryForm;
6use crate::jsonb::office::OfficeForm;
7use crate::jsonb::parent::ParentForm;
8use crate::jsonb::student::StudentForm;
9use common::entity::DtoResp;
10use common::enums::status::Status;
11use serde::{Deserialize, Serialize};
12use uuid::Uuid;
13
14#[derive(Serialize, Deserialize, Debug, Clone)]
15#[serde(rename_all = "camelCase")]
16pub struct EnrolmentResponse {
17 pub id: Uuid,
18 pub org_id: Uuid,
19 pub student: StudentForm,
20 pub parent: Option<Vec<ParentForm>>,
21 #[serde(skip_serializing_if = "Option::is_none")]
22 pub emergency_contacts: Option<Vec<EmergencyDetails>>,
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub additional: Option<AdditionalForm>,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub history: Option<HistoryForm>,
27 #[serde(skip_serializing_if = "Option::is_none")]
28 pub medicine: Option<ExtraForm>,
29 pub status: Status,
30 #[serde(skip_serializing_if = "Option::is_none")]
31 pub office: Option<OfficeForm>,
32 #[serde(skip_serializing_if = "Option::is_none")]
33 pub permission: Option<AcknowledgementForm>,
34}
35
36impl DtoResp for EnrolmentResponse {}