-
Notifications
You must be signed in to change notification settings - Fork 0
/
schema.graphql
155 lines (138 loc) · 2.84 KB
/
schema.graphql
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
scalar Date
scalar JSON
enum COUNTRYSORT {
cases
todayCases
deaths
todayDeaths
recovered
active
critical
casesPerOneMillion
deathsPerOneMillion
}
enum STATESORT {
cases
todayCases
deaths
todayDeaths
active
}
"Returns total number of cases, deaths, recovery with updated timestamp."
type StatisticsAggregate {
cases: Int
todayCases: Int
deaths: Int
todayDeaths: Int
recovered: Int
active: Int
critical: Int
casesPerOneMillion: Float
deathsPerOneMillion: Float
affectedCountries: Int
updated: Date
}
"Returns country information with flag image."
type CountryInfo {
_id: Int
lat: Float
long: Float
flag: String
iso3: String
iso2: String
}
"Returns the Status and Percentage of Increase/Decrease of today's data in comparison with yesterday's data"
type Analysis {
cases: JSON
todayCases: JSON
deaths: JSON
todayDeaths: JSON
recovered: JSON
active: JSON
critical: JSON
}
"Returns coronavirus report of a country."
type CountryReport {
country: String
countryInfo: CountryInfo
cases: Int
todayCases: Int
deaths: Int
todayDeaths: Int
recovered: Int
active: Int
critical: Int
casesPerOneMillion: Float
deathsPerOneMillion: Float
analysis: Analysis
updated: Date
}
"Returns coronavirus stats of an American State."
type State {
state: String
cases: Int
todayCases: Int
deaths: Int
todayDeaths: Int
active: Int
}
"Returns timeseries data about cases and deaths."
type TimeLine {
cases: JSON
deaths: JSON
recovered: JSON
}
"Returns historical report of a country with timeseries data."
type SingleHistoricalReport {
country: String
provinces: [String]
timeline: TimeLine
}
type HistoricalReport {
country: String
province: String
timeline: TimeLine
}
# Johns Hopkins CSSE Data Repository
type JHCSSCStats {
confirmed: Int
deaths: Int
recovered: Int
}
type Coordinates {
latitude: String
longitude: String
}
"Return data from the Johns Hopkins CSSE Data Repository (Country, province, confirmed, death, recovered)"
type JHCSSCReport {
country: String
province: String
updatedAt: Date
stats: JHCSSCStats
coordinates: Coordinates
}
type AggregatedHistoricalData {
date: Date
count: Int
}
type WorldwideHistoricalData {
cases: [AggregatedHistoricalData]
deaths: [AggregatedHistoricalData]
recovered: [AggregatedHistoricalData]
}
type Query {
all: StatisticsAggregate
yesterday(sort: COUNTRYSORT): [CountryReport]
countries(sort: COUNTRYSORT): [CountryReport]
country(name: String!): CountryReport
states(sort: STATESORT): [State]
state(name: String!): State
historical: [HistoricalReport]
historicalByCountry(name: String!): SingleHistoricalReport
historicalByCountryProvince(
country: String!
province: String!
): HistoricalReport
jhucsse: [JHCSSCReport]
worldwideHistoricalData: WorldwideHistoricalData
}