From a767d83d81755710fc760a6d3dc040b4a379c16a Mon Sep 17 00:00:00 2001 From: Steru Date: Fri, 2 Aug 2024 16:07:15 +0200 Subject: Extracted API call in seperate class. Started class to handle data and filter (Sport). --- src/api/OlympicsAPI.h | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/api/OlympicsAPI.h (limited to 'src/api/OlympicsAPI.h') diff --git a/src/api/OlympicsAPI.h b/src/api/OlympicsAPI.h new file mode 100644 index 0000000..8efaa26 --- /dev/null +++ b/src/api/OlympicsAPI.h @@ -0,0 +1,84 @@ + +#ifndef ITAT_CHALLANGE_OLYMPICS_OLYMPICSAPI_H +#define ITAT_CHALLANGE_OLYMPICS_OLYMPICSAPI_H + + +#define API_LINK "https://sph-s-api.olympics.com/summer/schedules/api/ENG/schedule/discipline/" + +#include +#include + +using namespace std; + +/* + * TODO: + * Replace api request code snippet in main with: + * + OlympicsAPI api; + QJsonObject archery = api.getSportData(api.Archery); + qDebug() << "Competitor:" << archery["units"][0]["competitors"][0]["name"].toString(); + * + */ + +class OlympicsAPI { + +public: + + enum Disciplines { + AquaticsArtisticSwimming, + AquaticsDiving, + AquaticsMarathonSwimming, + AquaticsSwimming, + AquaticsWaterPolo, + Archery, + Athletics, + Badminton, + Basketball3v3, + Basketball, + Boxing, + Breaking, + CanoeingSprint, + CanoeingSlalom, + CyclingBMXFreestyle, + CyclingBMXRacing, + CyclingMaountainBike, + CyclingRoad, + CyclingTrack, + EquestrianDressage, + EquestrianEventing, + EquestrianJumping, + Fencing, + FieldHockey, + Football, + Golf, + GymnasticsArtistic, + GymnasticsRhythmic, + GymnasticsTrampoline, + HandballIndoor, + Judo, + ModernPentathlon, + Rowing, + Rugby7, + Sailing, + Shooting, + Skateboarding, + SportClimbing, + Surfing, + TableTennis, + Taekwondo, + Tennis, + Triathlon, + VolleyballBeach, + VolleyballIndoor, + Weightlifting, + WrestlingFreestyle, + WrestlingGrecoRoman + }; + + QJsonObject getSportData(Disciplines sport); + string getDisciplineShort(Disciplines sport); + +}; + + +#endif //ITAT_CHALLANGE_OLYMPICS_OLYMPICSAPI_H -- cgit v1.2.3