-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathresponse.go
75 lines (67 loc) · 2.61 KB
/
response.go
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
package tomorrow
import "time"
// Response is the top level object for all Tomorrow API responses
type Response struct {
Data Data `json:"data,omitempty"`
}
// Data is the common structure for most responses
type Data struct {
Timelines []Timeline `json:"timelines,omitempty"`
Events []Event `json:"events"`
}
// Timeline struct
type Timeline struct {
Timestep string `json:"timestep,omitempty"`
StartTime time.Time `json:"startTime,omitempty"`
EndTime time.Time `json:"endTime,omitempty"`
Intervals []Interval `json:"intervals,omitempty"`
}
type Event struct {
Insight string `json:"insight"`
StartTime time.Time `json:"startTime"`
EndTime time.Time `json:"endTime"`
UpdateTime time.Time `json:"updateTime,omitempty"`
Severity string `json:"severity,omitempty"`
Certainty string `json:"certainty,omitempty"`
Urgency string `json:"urgency,omitempty"`
// Eventvalues struct {
// Origin string `json:"origin"`
// Title string `json:"title"`
// Radiativepower float64 `json:"radiativePower"`
// Location struct {
// Type string `json:"type"`
// Coordinates []float64 `json:"coordinates"`
// } `json:"location"`
// Distance float64 `json:"distance"`
// Direction float64 `json:"direction"`
// } `json:"eventValues,omitempty"`
// Eventvalues struct {
// Precipitationintensity int `json:"precipitationIntensity"`
// Mepindex int `json:"mepIndex"`
// } `json:"eventValues,omitempty"`
}
// Interval struct
type Interval struct {
StartTime time.Time `json:"startTime"`
Values Values `json:"values,omitempty"`
}
// Timestep struct
type Timestep struct {
StartTime time.Time `json:"startTime,omitempty" yaml:""`
Values Values `json:"values,omitempty" yaml:""`
}
// Values struct
type Values struct {
Temperature float64 `json:"temperature,omitempty" yaml:"temperature"`
TemperatureApparent float64 `json:"temperatureApparent,omitempty"`
Humidty float64 `json:"humidity,omitempty" yaml:"humidty"`
WeatherCode int `json:"weatherCode,omitempty" yaml:"weather_code"`
PrecipitationIntensity float64 `json:"precipitationIntensity,omitempty"`
PrecipitationType int `json:"precipitationType,omitempty"`
WindSpeed float64 `json:"windSpeed,omitempty"`
WindGust float64 `json:"windGust,omitempty"`
WindDirection float64 `json:"windDirection,omitempty"`
CloudCover float64 `json:"cloudCover,omitempty"`
CloudBase float64 `json:"cloudBase,omitempty"`
CloudCeiling float64 `json:"cloudCeiling,omitempty"`
}