code refactoring

This commit is contained in:
2025-06-18 11:13:47 +02:00
parent a87b6a0c06
commit e46ce3e2b2
5 changed files with 45 additions and 60 deletions

View File

@@ -11,29 +11,23 @@ import (
"github.com/ceticamarco/zephyr/types"
)
// Structure representing the JSON response
type tempRes struct {
Min float64 `json:"min"`
Max float64 `json:"max"`
}
type fsRes struct {
Day float64 `json:"day"`
}
type weatherRes struct {
Title string `json:"main"`
Description string `json:"description"`
Icon string `json:"icon"`
}
// Structures representing the JSON response
type dailyRes struct {
Temp tempRes `json:"temp"`
FeelsLike fsRes `json:"feels_like"`
Weather []weatherRes `json:"weather"`
WindSpeed float64 `json:"wind_speed"`
WindDeg float64 `json:"wind_deg"`
Timestamp int64 `json:"dt"`
Temp struct {
Min float64 `json:"min"`
Max float64 `json:"max"`
} `json:"temp"`
FeelsLike struct {
Day float64 `json:"day"`
} `json:"feels_like"`
Weather []struct {
Title string `json:"main"`
Description string `json:"description"`
Icon string `json:"icon"`
} `json:"weather"`
WindSpeed float64 `json:"wind_speed"`
WindDeg float64 `json:"wind_deg"`
Timestamp int64 `json:"dt"`
}
type forecastRes struct {
@@ -76,7 +70,6 @@ func getForecastEntity(dailyForecast dailyRes) types.ForecastEntity {
Speed: strconv.FormatFloat(dailyForecast.WindSpeed, 'f', 2, 64),
},
}
}
func GetForecast(city *types.City, apiKey string) (types.Forecast, error) {

View File

@@ -31,17 +31,15 @@ func GetMetrics(city *types.City, apiKey string) (types.Metrics, error) {
}
defer res.Body.Close()
// Structures representing the JSON response
type CurrentRes struct {
Humidity int `json:"humidity"`
Pressure int `json:"pressure"`
DewPoint float64 `json:"dew_point"`
UvIndex float64 `json:"uvi"`
Visibility float64 `json:"visibility"`
}
// Structure representing the JSON response
type MetricsRes struct {
Current CurrentRes `json:"current"`
Current struct {
Humidity int `json:"humidity"`
Pressure int `json:"pressure"`
DewPoint float64 `json:"dew_point"`
UvIndex float64 `json:"uvi"`
Visibility float64 `json:"visibility"`
} `json:"current"`
}
var metricRes MetricsRes

View File

@@ -63,20 +63,18 @@ func GetWeather(city *types.City, apiKey string) (types.Weather, error) {
}
defer res.Body.Close()
// Structures representing the JSON response
type InfoRes struct {
Title string `json:"main"`
Description string `json:"description"`
Icon string `json:"icon"`
}
type CurrentRes struct {
FeelsLike float64 `json:"feels_like"`
Temperature float64 `json:"temp"`
Timestamp int64 `json:"dt"`
Weather []InfoRes `json:"weather"`
}
// Structure representing the JSON response
type WeatherRes struct {
Current CurrentRes `json:"current"`
Current struct {
FeelsLike float64 `json:"feels_like"`
Temperature float64 `json:"temp"`
Timestamp int64 `json:"dt"`
Weather []struct {
Title string `json:"main"`
Description string `json:"description"`
Icon string `json:"icon"`
} `json:"weather"`
} `json:"current"`
}
var weather WeatherRes

View File

@@ -62,14 +62,12 @@ func GetWind(city *types.City, apiKey string) (types.Wind, error) {
defer res.Body.Close()
// Structures representing the JSON response
type CurrentRes struct {
Speed float64 `json:"wind_speed"`
Degrees float64 `json:"wind_deg"`
}
// Structure representing the JSON response
type WindRes struct {
Current CurrentRes `json:"current"`
Current struct {
Speed float64 `json:"wind_speed"`
Degrees float64 `json:"wind_deg"`
} `json:"current"`
}
var windRes WindRes