From b549e6efc858c764cd128e031c86c3c09795bcf4 Mon Sep 17 00:00:00 2001 From: Eirik Fosse Date: Mon, 23 Mar 2020 16:16:57 +0100 Subject: [PATCH] add data from newly added questions to API-responses and CSV-export, fixes #254 --- app/routes/api-routes.ts | 26 +++++++++++++++++++++++--- app/server.ts | 2 +- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/app/routes/api-routes.ts b/app/routes/api-routes.ts index 8402cd99..371ee85b 100644 --- a/app/routes/api-routes.ts +++ b/app/routes/api-routes.ts @@ -15,7 +15,9 @@ import { TestResult, Symptoms, CovidReport, - Symptom + Symptom, + SmokingHabit, + IsolationStatus } from '../domain/types'; const router = express.Router(); @@ -52,11 +54,15 @@ interface ExposedCovidReport { symptoms: Symptoms; submissionDate: string; // YYYY-MM-DD age: string; + bodyTemperature?: string; + smokingHabit?: SmokingHabit; + isolationStatus?: IsolationStatus; + diagnosedWithOtherConditions?: boolean; } type ZeroOrOne = 0 | 1; -const toZeroOrOne = (bool: boolean): ZeroOrOne => (bool ? 1 : 0); +const toZeroOrOne = (bool?: boolean): ZeroOrOne => (bool ? 1 : 0); interface ExposedCovidReportCSV extends Record { profileId: number; @@ -68,6 +74,10 @@ interface ExposedCovidReportCSV extends Record { testResult?: TestResult; symptomStart?: string; // YYYY-MM-DD submissionDate: string; + bodyTemperature?: string; + smokingHabit?: SmokingHabit; + isolationStatus?: IsolationStatus; + diagnosedWithOtherConditions?: ZeroOrOne; } const toISODate = (submissionTimestamp: number): string => @@ -82,7 +92,11 @@ const reportToExposedFormat = (report: CovidReport): ExposedCovidReport => ({ symptomStart: report.symptomStart, testResult: report.testResult, symptoms: report.symptoms, - submissionDate: toISODate(report.submissionTimestamp) + submissionDate: toISODate(report.submissionTimestamp), + bodyTemperature: report.bodyTemperature, + smokingHabit: report.smokingHabit, + isolationStatus: report.isolationStatus, + diagnosedWithOtherConditions: report.diagnosedWithOtherConditions }); const extractSymptomsAsZeroOrOne = ( @@ -119,6 +133,12 @@ const reportToExposedCsvFormat = ( symptomStart: report.symptomStart, testResult: report.testResult, submissionDate: toISODate(report.submissionTimestamp), + bodyTemperature: report.bodyTemperature, + smokingHabit: report.smokingHabit, + isolationStatus: report.isolationStatus, + diagnosedWithOtherConditions: toZeroOrOne( + report.diagnosedWithOtherConditions + ), ...extractSymptomsAsZeroOrOne(report.symptoms) }); diff --git a/app/server.ts b/app/server.ts index 0b956c8a..e917adfe 100644 --- a/app/server.ts +++ b/app/server.ts @@ -74,7 +74,7 @@ app.set('views', [ app.use(urls.submitReport, reportRoutes); app.use(urls.map, mapRoutes); -app.use(urls.map, apiRoutes); +app.use(urls.api, apiRoutes); app.use(urls.statistics, statisticsRoutes); app.use('/', variousRoutes);