userlib/jsonb/
office.rs

1use crate::enums::parental_responsibility::ParentalResponsibility;
2use chrono::NaiveDate;
3use postgres_types::{FromSql, ToSql};
4use serde::{Deserialize, Serialize};
5use uuid::Uuid;
6
7#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, FromSql, ToSql)]
8#[serde(rename_all = "camelCase")]
9pub struct OfficeForm {
10    pub school: Uuid,
11    pub registration_number: Option<String>,
12    pub enrolment_date: Option<NaiveDate>,
13    pub roll_class: Option<Uuid>,
14    pub current_year: Option<i32>,
15    pub house_group: Option<String>,
16    pub home_care: bool,
17    pub care_provider_name: String,
18    pub student_identity: bool,
19    pub evidence_supplied: bool,
20    pub in_area: bool,
21    pub passport_number: i64,
22    pub issue_country: String,
23    pub current_visa_subclass: Option<i32>,
24    pub previous_visa_subclasses: Vec<i32>,
25    pub authority_code: Option<i64>,
26    pub medical_plans_copied: bool,
27    pub personal_plan_copied: bool,
28    pub air_immunisation_history_copied: bool,
29    pub immunisation_status: Option<bool>,
30    pub court_order_copied: bool,
31    pub parent_not_living_with_student: Option<ParentalResponsibility>,
32    pub participation_letter_returned: bool,
33
34    pub interview_conducted: bool,
35    pub student_history_assessed: bool,
36    pub risk_assessment_required: bool,
37    pub risk_assessment_conducted: Option<bool>,
38    pub personalised_learning_required: bool,
39    pub parents_consultation_conducted: bool,
40    pub planning_completed: bool,
41    pub violence_management_plan: bool,
42    pub other_management_plan: bool,
43    pub health_care_plan: bool,
44    pub emergency_response_plan: bool,
45    pub relevant_staff_communication: bool,
46
47    pub appication_to_enrol: bool,
48    pub principal_signature: String,
49    pub principal_print_name: String,
50    pub principal_date: NaiveDate,
51}