userlib/dto/
enrolment_response.rs

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