diff --git a/main.go b/main.go index a4e2d77..0d02461 100644 --- a/main.go +++ b/main.go @@ -34,15 +34,15 @@ type OntCovidData struct { } `json:"fields"` RecordsFormat string `json:"records_format"` Records []struct { - ID int `json:"_id"` - ReportDate string `json:"report_date"` - PreviousDayDosesAdministered int `json:"previous_day_total_doses_administered"` - PreviousDayAtLeastOne int `json:"previous_day_at_least_one"` - PreviousDayFullyVaccinated int `json:"previous_day_fully_vaccinated"` - TotalDosesAdministered int `json:"total_doses_administered"` - TotalDosesAtLeastOne int `json:"total_individuals_at_least_one"` - TotalDosesInFullyVaccinatedIndividuals int `json:"total_doses_in_fully_vaccinated_individuals"` - TotalIndividualsFullyVaccinated int `json:"total_individuals_fully_vaccinated"` + ID int `json:"_id"` + ReportDate string `json:"report_date"` + PreviousDayDosesAdministered json.Number `json:"previous_day_total_doses_administered"` + PreviousDayAtLeastOne json.Number `json:"previous_day_at_least_one"` + PreviousDayFullyVaccinated json.Number `json:"previous_day_fully_vaccinated"` + TotalDosesAdministered json.Number `json:"total_doses_administered"` + TotalDosesAtLeastOne json.Number `json:"total_individuals_at_least_one"` + TotalDosesInFullyVaccinatedIndividuals json.Number `json:"total_doses_in_fully_vaccinated_individuals"` + TotalIndividualsFullyVaccinated json.Number `json:"total_individuals_fully_vaccinated"` } `json:"records"` Limit int `json:"limit"` Links struct { @@ -88,13 +88,42 @@ func updateMetrics() { return } - records.PreviousDayDosesAdministered().Set(float64(data.Result.Records[0].PreviousDayDosesAdministered)) - records.PreviousDayAtLeastOne().Set(float64(data.Result.Records[0].PreviousDayAtLeastOne)) - records.PreviousDayFullyVaccinated().Set(float64(data.Result.Records[0].PreviousDayFullyVaccinated)) - records.TotalDosesAdministered().Set(float64(data.Result.Records[0].TotalDosesAdministered)) - records.TotalDosesAtLeastOne().Set(float64(data.Result.Records[0].TotalDosesAtLeastOne)) - records.TotalDosesInFullyVaccinatedIndividuals().Set(float64(data.Result.Records[0].TotalDosesInFullyVaccinatedIndividuals)) - records.TotalIndividualsFullyVaccinated().Set(float64(data.Result.Records[0].TotalIndividualsFullyVaccinated)) + previousDayDosesAdministered, err := data.Result.Records[0].PreviousDayDosesAdministered.Float64() + if err != nil { + log.Println(err) + } + previousDayAtLeastOne, err := data.Result.Records[0].PreviousDayAtLeastOne.Float64() + if err != nil { + log.Println(err) + } + previousDayFullyVaccinated, err := data.Result.Records[0].PreviousDayFullyVaccinated.Float64() + if err != nil { + log.Println(err) + } + totalDosesAdministered, err := data.Result.Records[0].TotalDosesAdministered.Float64() + if err != nil { + log.Println(err) + } + totalDosesAtLeastOne, err := data.Result.Records[0].TotalDosesAtLeastOne.Float64() + if err != nil { + log.Println(err) + } + totalDosesInFullyVaccinatedIndividuals, err := data.Result.Records[0].TotalDosesInFullyVaccinatedIndividuals.Float64() + if err != nil { + log.Println(err) + } + totalIndividualsFullyVaccinated, err := data.Result.Records[0].TotalIndividualsFullyVaccinated.Float64() + if err != nil { + log.Println(err) + } + + records.PreviousDayDosesAdministered().Set(previousDayDosesAdministered) + records.PreviousDayAtLeastOne().Set(previousDayAtLeastOne) + records.PreviousDayFullyVaccinated().Set(previousDayFullyVaccinated) + records.TotalDosesAdministered().Set(totalDosesAdministered) + records.TotalDosesAtLeastOne().Set(totalDosesAtLeastOne) + records.TotalDosesInFullyVaccinatedIndividuals().Set(totalDosesInFullyVaccinatedIndividuals) + records.TotalIndividualsFullyVaccinated().Set(totalIndividualsFullyVaccinated) records.EligiblePopulation().Set(float64(eligiblePopulation)) }