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:
@@ -14,6 +14,11 @@ type queryRequest struct {
|
||||
Units presenter.Units
|
||||
}
|
||||
|
||||
type precisionQueryRequest struct {
|
||||
Units presenter.Units
|
||||
Precision int
|
||||
}
|
||||
|
||||
func bindQuery(r *http.Request) (queryRequest, error) {
|
||||
normalizeCommonQueryValue(r, "units")
|
||||
normalizeCommonQueryValue(r, "format")
|
||||
@@ -34,3 +39,36 @@ func bindQuery(r *http.Request) (queryRequest, error) {
|
||||
}
|
||||
return queryRequest{Units: units}, nil
|
||||
}
|
||||
|
||||
func bindPrecisionQuery(r *http.Request) (precisionQueryRequest, error) {
|
||||
normalizeCommonQueryValue(r, "units")
|
||||
normalizeCommonQueryValue(r, "format")
|
||||
normalizeCommonQueryValue(r, "precision")
|
||||
|
||||
common, err := bind.CommonQueryParams(r, bind.QueryPolicy{
|
||||
AllowUnits: true,
|
||||
AllowFormat: true,
|
||||
DefaultUnits: string(presenter.UnitsMetric),
|
||||
RejectUnknown: true,
|
||||
}, "precision")
|
||||
if err != nil {
|
||||
return precisionQueryRequest{}, err
|
||||
}
|
||||
|
||||
precision, err := bind.OptionalInt(r, "precision", 0)
|
||||
if err != nil {
|
||||
return precisionQueryRequest{}, err
|
||||
}
|
||||
if err := bind.MinInt(precision, 0, "precision"); err != nil {
|
||||
return precisionQueryRequest{}, err
|
||||
}
|
||||
if err := bind.MaxInt(precision, 2, "precision"); err != nil {
|
||||
return precisionQueryRequest{}, err
|
||||
}
|
||||
|
||||
units := presenter.Units(strings.ToLower(strings.TrimSpace(common.Units)))
|
||||
if units == "" {
|
||||
units = presenter.UnitsMetric
|
||||
}
|
||||
return precisionQueryRequest{Units: units, Precision: precision}, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user