commit - f3dcdaf351931b1fd11ff78249de1233b1e4730b
commit + ef5ce9106454568612c7459b769eddf0e17d7369
blob - bdf320bcb59408449ec6f4d6065de0df983e7aaf (mode 644)
blob + /dev/null
--- vaccinations.go
+++ /dev/null
-package main
-
-import (
- "encoding/json"
- "errors"
- "fmt"
- "io/ioutil"
- "net/http"
- "strings"
-)
-
-var vaccinationEnd = "vaccinations/"
-
-type VaccinationResponseData struct {
- Data VaccinationResponse `json:"data"`
- //Meta []MetaResponse `json:"meta"`
-}
-
-type VaccinationResponse struct {
- AdministeredVaccinations int `json:"administeredVaccinations"`
- Vaccinated int `json:"vaccinated"`
- Vaccination VaccinationsResponse `json:"vaccination"`
- Delta int `json:"delta"`
- Quote float64 `json:"quote"`
- SecondVaccination SecondVaccinationResponse `json:"secondVaccination"`
- // Indication
- States map[string]StatesResponse `json:"states"`
-}
-
-type VaccinationsResponse struct {
- Biontech int `json:"biontech"`
- Moderna int `json:"moderna"`
- AstraZeneca int `json:"astraZeneca"`
- Janssen int `json:"janssen"`
-}
-
-type SecondVaccinationResponse struct {
- Vaccinated int `json:"vaccinated"`
- Vaccination VaccinationsResponse `json:"vaccination"`
- Delta int `json:"delta"`
- Quote float64 `json:"quote"`
-}
-
-type StatesResponse struct {
- Name string `json:"name"`
- AdministeredVaccinations int `json:"administeredVaccinations"`
- Vaccinated int `json:"vaccinated"`
- Vaccination VaccinationsResponse `json:"vaccination"`
- Delta int `json:"delta"`
- Quote float64 `json:"quote"`
- SecondVaccination SecondVaccinationResponse `json:"secondVaccination"`
- // Indication
-}
-
-func GetAllVaccinations() (VaccinationResponseData, error) {
- var vrd VaccinationResponseData
-
- apiUrl := ParsedArgs.ApiUrl + vaccinationEnd
-
- response, err := http.Get(apiUrl)
- if err != nil {
- return vrd, err
- }
- defer response.Body.Close()
-
- responseData, err := ioutil.ReadAll(response.Body)
- if err != nil {
- return vrd, err
- }
-
- err = json.Unmarshal(responseData, &vrd)
- if err != nil {
- return vrd, err
- }
-
- return vrd, nil
-}
-
-func GetStateVaccinationsByName(name string) (StatesResponse, error) {
- var state StatesResponse
-
- data, err := GetAllVaccinations()
- if err != nil {
- return state, err
- }
-
- for _, value := range data.Data.States {
- if strings.Contains(strings.ToLower(value.Name), strings.ToLower(name)) {
- return value, nil
- }
- }
-
- return state, errors.New("State not found")
-}
-
-func FormatStateVaccinations(stateData StatesResponse) string {
- msg := fmt.Sprintf("Bundesland %s\n```\nVerarbreichte Impfungen: %d\nGeimpft: %d\nDelta: %d\nQuote: %.2f\nImpfstoffe:\n%s\n```", stateData.Name, stateData.AdministeredVaccinations, stateData.Vaccinated, stateData.Delta, stateData.Quote, FormatStateVaccinationsData(stateData.Vaccination))
-
- return msg
-}
-
-func FormatStateVaccinationsData(vacsData VaccinationsResponse) string {
- msg := fmt.Sprintf(" Biontech: %d\n Moderna: %d\n AstraZeneca: %d\n Janssen: %d", vacsData.Biontech, vacsData.Moderna, vacsData.AstraZeneca, vacsData.Janssen)
-
- return msg
-}
-
-func FormatTotalVaccinations(vacsData VaccinationResponse) string {
- msg := fmt.Sprintf("Deutschland\n```\nVerabreichte Impfungen: %d\nGeimpft: %d\nDelta: %d\nQuote: %.2f\nImpfstoffe verabreicht:\n%s\n\n```", vacsData.AdministeredVaccinations, vacsData.Vaccinated, vacsData.Delta, vacsData.Quote, FormatCountryVaccinationsData(vacsData))
-
- return msg
-}
-
-func FormatCountryVaccinationsData(vacsData VaccinationResponse) string {
- msg := fmt.Sprintf(" Biontech: %d\n Moderna: %d\n AstraZeneca: %d\n Janssen: %d", vacsData.Vaccination.Biontech, vacsData.Vaccination.Moderna, vacsData.Vaccination.AstraZeneca, vacsData.Vaccination.Janssen)
-
- return msg
-}