Cleanup outlook endpoints and completed roadmap documentation
All checks were successful
ci/woodpecker/push/build-image Pipeline was successful

This commit is contained in:
2026-06-12 09:40:49 -05:00
parent 6316783c3a
commit f4dd701204
11 changed files with 43 additions and 429 deletions

View File

@@ -145,29 +145,16 @@ func bindPrecisionQueryInternal(r *http.Request, allowTimezone bool) (precisionQ
}
func bindOutlookQuery(r *http.Request) (outlookQueryRequest, error) {
return bindOutlookQueryInternal(r, true)
}
func bindOutlookLocationQuery(r *http.Request) (outlookQueryRequest, error) {
return bindOutlookQueryInternal(r, false)
}
func bindOutlookQueryInternal(r *http.Request, allowContainsLocation bool) (outlookQueryRequest, error) {
normalizeCommonQueryValue(r, "units")
normalizeCommonQueryValue(r, "format")
normalizeCommonQueryValue(r, "outlookType")
allowedExtra := []string{"tz", "TZ", "day", "outlookType"}
if allowContainsLocation {
allowedExtra = append(allowedExtra, "containsLocation")
}
common, err := bind.CommonQueryParams(r, bind.QueryPolicy{
AllowUnits: true,
AllowFormat: true,
DefaultUnits: string(presenter.UnitsMetric),
RejectUnknown: true,
}, allowedExtra...)
}, "tz", "TZ", "day", "outlookType")
if err != nil {
return outlookQueryRequest{}, err
}
@@ -182,7 +169,7 @@ func bindOutlookQueryInternal(r *http.Request, allowContainsLocation bool) (outl
return outlookQueryRequest{}, err
}
filter, err := bindOutlookFilter(r, allowContainsLocation)
filter, err := bindOutlookFilter(r)
if err != nil {
return outlookQueryRequest{}, err
}
@@ -194,7 +181,7 @@ func bindOutlookQueryInternal(r *http.Request, allowContainsLocation bool) (outl
}, nil
}
func bindOutlookFilter(r *http.Request, allowContainsLocation bool) (app.OutlookFilter, error) {
func bindOutlookFilter(r *http.Request) (app.OutlookFilter, error) {
var filter app.OutlookFilter
if strings.TrimSpace(r.URL.Query().Get("day")) != "" {
@@ -218,16 +205,5 @@ func bindOutlookFilter(r *http.Request, allowContainsLocation bool) (app.Outlook
}
}
if strings.TrimSpace(r.URL.Query().Get("containsLocation")) != "" {
if !allowContainsLocation {
return app.OutlookFilter{}, apierrors.InvalidParameter("containsLocation is not allowed on this endpoint")
}
containsLocation, err := bind.OptionalBool(r, "containsLocation", false)
if err != nil {
return app.OutlookFilter{}, err
}
filter.ContainsLocation = &containsLocation
}
return filter, nil
}