summaryrefslogtreecommitdiff
path: root/src/api/OlympicsAPI.h
blob: 8efaa262e5dc3704f3d416cdbaf4221c18f42969 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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 <string>
#include <QJsonObject>

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