refactor parsing of time range filters (#2693)

* refactor parsing of time range filters
CODE-2402
Marko Gaćeša 2024-09-17 08:07:57 +00:00 committed by Harness
parent 34513680fb
commit dc5bc6ed44
1 changed files with 18 additions and 24 deletions

View File

@ -136,62 +136,56 @@ func ParseListQueryFilterFromRequest(r *http.Request) types.ListQueryFilter {
// ParseCreated extracts the created filter from the url query param. // ParseCreated extracts the created filter from the url query param.
func ParseCreated(r *http.Request) (types.CreatedFilter, error) { func ParseCreated(r *http.Request) (types.CreatedFilter, error) {
filter := types.CreatedFilter{}
createdLt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamCreatedLt, 0) createdLt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamCreatedLt, 0)
if err != nil { 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) createdGt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamCreatedGt, 0)
if err != nil { 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 return types.CreatedFilter{
filter.CreatedLt = createdLt CreatedGt: createdGt,
CreatedLt: createdLt,
return filter, nil }, nil
} }
// ParseUpdated extracts the updated filter from the url query param. // ParseUpdated extracts the updated filter from the url query param.
func ParseUpdated(r *http.Request) (types.UpdatedFilter, error) { func ParseUpdated(r *http.Request) (types.UpdatedFilter, error) {
filter := types.UpdatedFilter{}
updatedLt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamUpdatedLt, 0) updatedLt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamUpdatedLt, 0)
if err != nil { 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) updatedGt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamUpdatedGt, 0)
if err != nil { 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 return types.UpdatedFilter{
filter.UpdatedLt = updatedLt UpdatedGt: updatedGt,
UpdatedLt: updatedLt,
return filter, nil }, nil
} }
// ParseEdited extracts the edited filter from the url query param. // ParseEdited extracts the edited filter from the url query param.
func ParseEdited(r *http.Request) (types.EditedFilter, error) { func ParseEdited(r *http.Request) (types.EditedFilter, error) {
filter := types.EditedFilter{}
editedLt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamEditedLt, 0) editedLt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamEditedLt, 0)
if err != nil { 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) editedGt, err := QueryParamAsPositiveInt64OrDefault(r, QueryParamEditedGt, 0)
if err != nil { 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 return types.EditedFilter{
filter.EditedLt = editedLt EditedGt: editedGt,
EditedLt: editedLt,
return filter, nil }, nil
} }
// GetContentEncodingFromHeadersOrDefault returns the content encoding from the request headers. // GetContentEncodingFromHeadersOrDefault returns the content encoding from the request headers.