From dc5bc6ed4429894adfaa9a316f40d79c9f32bc04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Ga=C4=87e=C5=A1a?= Date: Tue, 17 Sep 2024 08:07:57 +0000 Subject: [PATCH] refactor parsing of time range filters (#2693) * refactor parsing of time range filters --- app/api/request/common.go | 42 +++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/app/api/request/common.go b/app/api/request/common.go index 1e9fe83f3..b12fb8c9b 100644 --- a/app/api/request/common.go +++ b/app/api/request/common.go @@ -136,62 +136,56 @@ func ParseListQueryFilterFromRequest(r *http.Request) types.ListQueryFilter { // ParseCreated extracts the created filter from the url query param. func ParseCreated(r *http.Request) (types.CreatedFilter, error) { - filter := types.CreatedFilter{} - createdLt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamCreatedLt, 0) if err != nil { - return filter, fmt.Errorf("encountered error parsing created lt: %w", err) + return types.CreatedFilter{}, fmt.Errorf("encountered error parsing created lt: %w", err) } createdGt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamCreatedGt, 0) if err != nil { - return filter, fmt.Errorf("encountered error parsing created gt: %w", err) + return types.CreatedFilter{}, fmt.Errorf("encountered error parsing created gt: %w", err) } - filter.CreatedGt = createdGt - filter.CreatedLt = createdLt - - return filter, nil + return types.CreatedFilter{ + CreatedGt: createdGt, + CreatedLt: createdLt, + }, nil } // ParseUpdated extracts the updated filter from the url query param. func ParseUpdated(r *http.Request) (types.UpdatedFilter, error) { - filter := types.UpdatedFilter{} - updatedLt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamUpdatedLt, 0) if err != nil { - return filter, fmt.Errorf("encountered error parsing updated lt: %w", err) + return types.UpdatedFilter{}, fmt.Errorf("encountered error parsing updated lt: %w", err) } updatedGt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamUpdatedGt, 0) if err != nil { - return filter, fmt.Errorf("encountered error parsing updated gt: %w", err) + return types.UpdatedFilter{}, fmt.Errorf("encountered error parsing updated gt: %w", err) } - filter.UpdatedGt = updatedGt - filter.UpdatedLt = updatedLt - - return filter, nil + return types.UpdatedFilter{ + UpdatedGt: updatedGt, + UpdatedLt: updatedLt, + }, nil } // ParseEdited extracts the edited filter from the url query param. func ParseEdited(r *http.Request) (types.EditedFilter, error) { - filter := types.EditedFilter{} - editedLt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamEditedLt, 0) if err != nil { - return filter, fmt.Errorf("encountered error parsing edited lt: %w", err) + return types.EditedFilter{}, fmt.Errorf("encountered error parsing edited lt: %w", err) } editedGt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamEditedGt, 0) if err != nil { - return filter, fmt.Errorf("encountered error parsing edited gt: %w", err) + return types.EditedFilter{}, fmt.Errorf("encountered error parsing edited gt: %w", err) } - filter.EditedGt = editedGt - filter.EditedLt = editedLt - - return filter, nil + return types.EditedFilter{ + EditedGt: editedGt, + EditedLt: editedLt, + }, nil } // GetContentEncodingFromHeadersOrDefault returns the content encoding from the request headers.