From b1bcd0f423808c6ccc4b02a3d8aa76588d1a249d Mon Sep 17 00:00:00 2001 From: petechd <53475968+petechd@users.noreply.github.com> Date: Fri, 27 Jan 2023 09:26:45 +0000 Subject: [PATCH] Add support for PHM metadata (#44) --- authentication/auth.go | 45 ++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/authentication/auth.go b/authentication/auth.go index e5935738..c3850b99 100644 --- a/authentication/auth.go +++ b/authentication/auth.go @@ -124,20 +124,26 @@ type Metadata struct { func isSurveyMetadata(key string) bool { switch key { case - "case_ref", - "case_type", - "display_address", - "employment_date", - "form_type", - "period_id", - "period_str", - "ref_p_end_date", - "ref_p_start_date", - "ru_name", - "ru_ref", - "trad_as", - "user_id", - "qid": + "case_ref", + "case_type", + "display_address", + "employment_date", + "form_type", + "period_id", + "period_str", + "ref_p_end_date", + "ref_p_start_date", + "ru_name", + "ru_ref", + "trad_as", + "user_id", + "qid", + "PARTICIPANT_ID", + "FIRST_NAME", + "BLOOD_TEST_BARCODE", + "SWAB_TEST_BARCODE", + "TEST_QUESTIONS": + return true } return false @@ -627,7 +633,12 @@ func GetRequiredMetadata(launcherSchema surveys.LauncherSchema) ([]Metadata, str defaults := GetDefaultValues() for i, value := range schema.Metadata { - schema.Metadata[i].Default = defaults[value.Name] + + if strings.Contains(value.Name, "BARCODE") { + schema.Metadata[i].Default = "BAR" + fmt.Sprintf("%08d", rand.Int63n(1e8)) + } else { + schema.Metadata[i].Default = defaults[value.Name] + } if value.Validator == "boolean" { schema.Metadata[i].Default = "false" @@ -759,6 +770,10 @@ func GetDefaultValues() map[string]string { defaults["postcode"] = "PE12 4GH" defaults["display_address"] = "68 Abingdon Road, Goathill" defaults["country"] = "E" + defaults["PARTICIPANT_ID"] = "ABC-" + fmt.Sprintf("%011d", rand.Int63n(1e11)) + defaults["FIRST_NAME"] = "John" + defaults["TEST_QUESTIONS"] = "F" + return defaults }