From 95ae8220a54aa064571d73b029416f00e92ff5a8 Mon Sep 17 00:00:00 2001 From: Sebastian Pravda Date: Mon, 16 Jan 2023 15:41:42 +0100 Subject: [PATCH] feat!: test language --- api/src/routes/candidate.rs | 3 ++- core/src/database/mutation/candidate.rs | 1 + core/src/models/candidate.rs | 1 + core/src/models/candidate_details.rs | 6 ++++++ core/src/models/grade.rs | 1 - entity/src/candidate.rs | 1 + migration/src/m20221024_121621_create_candidate.rs | 2 ++ 7 files changed, 13 insertions(+), 2 deletions(-) diff --git a/api/src/routes/candidate.rs b/api/src/routes/candidate.rs index def5068..17d9fbd 100644 --- a/api/src/routes/candidate.rs +++ b/api/src/routes/candidate.rs @@ -318,7 +318,8 @@ mod tests { \"personalIdNumber\": \"0101010000\", \"schoolName\": \"29988383\", \"healthInsurance\": \"000\", - \"grades\": [] + \"grades\": [], + \"test_language\": \"CZ\" }, \"parents\": [ { diff --git a/core/src/database/mutation/candidate.rs b/core/src/database/mutation/candidate.rs index c0dc4f6..ad7a961 100644 --- a/core/src/database/mutation/candidate.rs +++ b/core/src/database/mutation/candidate.rs @@ -54,6 +54,7 @@ impl Mutation { candidate.school_name = Set(enc_candidate.school_name.map(|e| e.into())); candidate.health_insurance = Set(enc_candidate.health_insurance.map(|e| e.into())); candidate.grades_json = Set(enc_candidate.grades_json.map(|e| e.into())); + candidate.test_language = Set(enc_candidate.test_language.map(|s| s)); candidate.encrypted_by_id = Set(Some(encrypted_by_id)); candidate.updated_at = Set(chrono::offset::Local::now().naive_local()); diff --git a/core/src/models/candidate.rs b/core/src/models/candidate.rs index 3938639..b3b9ae4 100644 --- a/core/src/models/candidate.rs +++ b/core/src/models/candidate.rs @@ -73,6 +73,7 @@ pub struct CandidateDetails { pub school_name: String, pub health_insurance: String, pub grades: GradeList, + pub test_language: String, } #[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)] #[serde(rename_all = "camelCase")] diff --git a/core/src/models/candidate_details.rs b/core/src/models/candidate_details.rs index 55453d8..5400e46 100644 --- a/core/src/models/candidate_details.rs +++ b/core/src/models/candidate_details.rs @@ -27,6 +27,7 @@ pub struct EncryptedCandidateDetails { pub school_name: Option, pub health_insurance: Option, pub grades_json: Option, + pub test_language: Option, } #[derive(Debug, Clone)] @@ -151,6 +152,7 @@ impl EncryptedCandidateDetails { school_name: d.10, health_insurance: d.11, grades_json: d.12, + test_language: Some(form.test_language.to_owned()), } ) } @@ -186,6 +188,7 @@ impl EncryptedCandidateDetails { school_name: d.10.unwrap_or_default(), health_insurance: d.11.unwrap_or_default(), grades: GradeList::from_opt_str(d.12).unwrap_or_default(), + test_language: self.test_language.to_owned().unwrap_or_default().to_string(), } ) } @@ -221,6 +224,7 @@ impl From<&candidate::Model> for EncryptedCandidateDetails { school_name: EncryptedString::try_from(&candidate.school_name).ok(), health_insurance: EncryptedString::try_from(&candidate.health_insurance).ok(), grades_json: EncryptedString::try_from(&candidate.grades_json).ok(), + test_language: candidate.test_language.to_owned(), } } } @@ -359,6 +363,7 @@ impl TryFrom for EncryptedApplicationDetails { school_name: EncryptedString::try_from(&cp.school_name).ok(), health_insurance: EncryptedString::try_from(&cp.health_insurance).ok(), grades_json: None, // TODO + test_language: None // TODO }, parents: vec![EncryptedParentDetails { name: EncryptedString::try_from(&cp.parent_name).ok(), @@ -413,6 +418,7 @@ pub mod tests { school_name: "school_name".to_string(), health_insurance: "health_insurance".to_string(), grades: GradeList::from(vec![]), + test_language: "test_language".to_string(), }, parents: vec![ParentDetails { name: "parent_name".to_string(), diff --git a/core/src/models/grade.rs b/core/src/models/grade.rs index 809fa78..d58a18a 100644 --- a/core/src/models/grade.rs +++ b/core/src/models/grade.rs @@ -12,7 +12,6 @@ pub struct GradeList(Vec); impl GradeList { pub fn from_opt_str(grades: Option) -> Option { - println!("grades: {:?}", grades); grades.map( |grades| serde_json::from_str(&grades).unwrap() // TODO: handle error ) diff --git a/entity/src/candidate.rs b/entity/src/candidate.rs index eee1efa..7084efd 100644 --- a/entity/src/candidate.rs +++ b/entity/src/candidate.rs @@ -21,6 +21,7 @@ pub struct Model { pub school_name: Option, pub health_insurance: Option, pub grades_json: Option, + pub test_language: Option, pub encrypted_by_id: Option, pub created_at: DateTime, pub updated_at: DateTime, diff --git a/migration/src/m20221024_121621_create_candidate.rs b/migration/src/m20221024_121621_create_candidate.rs index 1b6edad..da7f7ce 100644 --- a/migration/src/m20221024_121621_create_candidate.rs +++ b/migration/src/m20221024_121621_create_candidate.rs @@ -32,6 +32,7 @@ impl MigrationTrait for Migration { .col(ColumnDef::new(Candidate::SchoolName).string()) .col(ColumnDef::new(Candidate::HealthInsurance).string()) .col(ColumnDef::new(Candidate::GradesJson).string()) + .col(ColumnDef::new(Candidate::TestLanguage).string()) .col(ColumnDef::new(Candidate::EncryptedById).integer()) .col(ColumnDef::new(Candidate::CreatedAt).date_time().not_null()) .col(ColumnDef::new(Candidate::UpdatedAt).date_time().not_null()) @@ -65,6 +66,7 @@ pub enum Candidate { SchoolName, HealthInsurance, GradesJson, + TestLanguage, EncryptedById, CreatedAt, UpdatedAt,