Added support for rounding of values by default in API responses
All checks were successful
ci/woodpecker/push/build-image Pipeline was successful
All checks were successful
ci/woodpecker/push/build-image Pipeline was successful
This commit is contained in:
@@ -25,30 +25,30 @@ type CurrentConditionsResponse struct {
|
||||
IsDayText string `json:"-" xml:"-"`
|
||||
}
|
||||
|
||||
func CurrentConditionsPayload(conditions *app.CurrentConditions, units Units) any {
|
||||
func CurrentConditionsPayload(conditions *app.CurrentConditions, units Units, precision int) any {
|
||||
if conditions == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
out := CurrentConditionsResponse{
|
||||
RelativeHumidityPercent: copyFloat64Ptr(conditions.RelativeHumidityPercent),
|
||||
WindDirectionDegrees: copyFloat64Ptr(conditions.WindDirectionDegrees),
|
||||
RelativeHumidityPercent: roundedPtr(copyFloat64Ptr(conditions.RelativeHumidityPercent), precision),
|
||||
WindDirectionDegrees: roundedPtr(copyFloat64Ptr(conditions.WindDirectionDegrees), precision),
|
||||
ConditionText: standards.WMOText(conditions.ConditionCode, conditions.IsDay),
|
||||
IsDay: copyBoolPtr(conditions.IsDay),
|
||||
IsDayText: boolText(conditions.IsDay),
|
||||
}
|
||||
|
||||
if units == UnitsUS {
|
||||
out.TemperatureF = celsiusToFahrenheitPtr(conditions.TemperatureC)
|
||||
out.ApparentTemperatureF = celsiusToFahrenheitPtr(conditions.ApparentTemperatureC)
|
||||
out.DewpointF = celsiusToFahrenheitPtr(conditions.DewpointC)
|
||||
out.WindSpeedMph = scalePtr(conditions.WindSpeedKmh, kmhToMphFactor)
|
||||
out.TemperatureF = roundedPtr(celsiusToFahrenheitPtr(conditions.TemperatureC), precision)
|
||||
out.ApparentTemperatureF = roundedPtr(celsiusToFahrenheitPtr(conditions.ApparentTemperatureC), precision)
|
||||
out.DewpointF = roundedPtr(celsiusToFahrenheitPtr(conditions.DewpointC), precision)
|
||||
out.WindSpeedMph = roundedPtr(scalePtr(conditions.WindSpeedKmh, kmhToMphFactor), precision)
|
||||
return out
|
||||
}
|
||||
|
||||
out.TemperatureC = copyFloat64Ptr(conditions.TemperatureC)
|
||||
out.ApparentTemperatureC = copyFloat64Ptr(conditions.ApparentTemperatureC)
|
||||
out.DewpointC = copyFloat64Ptr(conditions.DewpointC)
|
||||
out.WindSpeedKmh = copyFloat64Ptr(conditions.WindSpeedKmh)
|
||||
out.TemperatureC = roundedPtr(copyFloat64Ptr(conditions.TemperatureC), precision)
|
||||
out.ApparentTemperatureC = roundedPtr(copyFloat64Ptr(conditions.ApparentTemperatureC), precision)
|
||||
out.DewpointC = roundedPtr(copyFloat64Ptr(conditions.DewpointC), precision)
|
||||
out.WindSpeedKmh = roundedPtr(copyFloat64Ptr(conditions.WindSpeedKmh), precision)
|
||||
return out
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user