Skip to content

Commit

Permalink
ebay: advance to go1.21.1
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewdargan committed Sep 24, 2023
1 parent 329b180 commit 746dbee
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 76 deletions.
42 changes: 14 additions & 28 deletions filter.go
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,7 @@ func processNumberedItemFilters(params map[string]string) ([]itemFilter, error)
itemFilters = append(itemFilters, itemFilter)
}
for i := range itemFilters {
err := handleItemFilterType(&itemFilters[i], itemFilters, params)
if err != nil {
if err := handleItemFilterType(&itemFilters[i], itemFilters, params); err != nil {
return nil, err
}
}
Expand Down Expand Up @@ -347,47 +346,39 @@ func handleItemFilterType(filter *itemFilter, itemFilters []itemFilter, params m
return fmt.Errorf("%w: %q", ErrInvalidDateTime, filter.values[0])
}
case excludeCategory:
err := validateExcludeCategories(filter.values)
if err != nil {
if err := validateExcludeCategories(filter.values); err != nil {
return err
}
case excludeSeller:
err := validateExcludeSellers(filter.values, itemFilters)
if err != nil {
if err := validateExcludeSellers(filter.values, itemFilters); err != nil {
return err
}
case expeditedShippingType:
if filter.values[0] != "Expedited" && filter.values[0] != "OneDayShipping" {
return fmt.Errorf("%w: %q", ErrInvalidExpeditedShippingType, filter.values[0])
}
case feedbackScoreMax, feedbackScoreMin:
err := validateNumericFilter(filter, itemFilters, 0, feedbackScoreMax, feedbackScoreMin)
if err != nil {
if err := validateNumericFilter(filter, itemFilters, 0, feedbackScoreMax, feedbackScoreMin); err != nil {
return err
}
case listedIn:
err := validateGlobalID(filter.values[0])
if err != nil {
if err := validateGlobalID(filter.values[0]); err != nil {
return err
}
case listingType:
err := validateListingTypes(filter.values)
if err != nil {
if err := validateListingTypes(filter.values); err != nil {
return err
}
case localSearchOnly:
err := validateLocalSearchOnly(filter.values, itemFilters, params)
if err != nil {
if err := validateLocalSearchOnly(filter.values, itemFilters, params); err != nil {
return err
}
case locatedIn:
err := validateLocatedIns(filter.values)
if err != nil {
if err := validateLocatedIns(filter.values); err != nil {
return err
}
case maxBids, minBids:
err := validateNumericFilter(filter, itemFilters, 0, maxBids, minBids)
if err != nil {
if err := validateNumericFilter(filter, itemFilters, 0, maxBids, minBids); err != nil {
return err
}
case maxDistance:
Expand All @@ -402,32 +393,27 @@ func handleItemFilterType(filter *itemFilter, itemFilters []itemFilter, params m
return invalidIntegerError(filter.values[0], 1)
}
case maxPrice, minPrice:
err := validatePriceRange(filter, itemFilters)
if err != nil {
if err := validatePriceRange(filter, itemFilters); err != nil {
return err
}
case maxQuantity, minQuantity:
err := validateNumericFilter(filter, itemFilters, 1, maxQuantity, minQuantity)
if err != nil {
if err := validateNumericFilter(filter, itemFilters, 1, maxQuantity, minQuantity); err != nil {
return err
}
case modTimeFrom:
if !isValidDateTime(filter.values[0], false) {
return fmt.Errorf("%w: %q", ErrInvalidDateTime, filter.values[0])
}
case seller:
err := validateSellers(filter.values, itemFilters)
if err != nil {
if err := validateSellers(filter.values, itemFilters); err != nil {
return err
}
case sellerBusinessType:
err := validateSellerBusinessType(filter.values)
if err != nil {
if err := validateSellerBusinessType(filter.values); err != nil {
return err
}
case topRatedSellerOnly:
err := validateTopRatedSellerOnly(filter.values[0], itemFilters)
if err != nil {
if err := validateTopRatedSellerOnly(filter.values[0], itemFilters); err != nil {
return err
}
case valueBoxInventory:
Expand Down
18 changes: 6 additions & 12 deletions finding.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,7 @@ func (e *APIError) Error() string {
// [Searching and Browsing By Category]: https://developer.ebay.com/api-docs/user-guides/static/finding-user-guide/finding-searching-browsing-by-category.html
func (c *FindingClient) FindItemsByCategories(ctx context.Context, params map[string]string) (FindItemsByCategoriesResponse, error) {
var findItems FindItemsByCategoriesResponse
err := c.findItems(ctx, params, &findItemsByCategoryParams{appID: c.AppID}, &findItems)
if err != nil {
if err := c.findItems(ctx, params, &findItemsByCategoryParams{appID: c.AppID}, &findItems); err != nil {
return findItems, err
}
return findItems, nil
Expand All @@ -96,8 +95,7 @@ func (c *FindingClient) FindItemsByCategories(ctx context.Context, params map[st
// [Searching by Keywords]: https://developer.ebay.com/api-docs/user-guides/static/finding-user-guide/finding-searching-by-keywords.html
func (c *FindingClient) FindItemsByKeywords(ctx context.Context, params map[string]string) (FindItemsByKeywordsResponse, error) {
var findItems FindItemsByKeywordsResponse
err := c.findItems(ctx, params, &findItemsByKeywordsParams{appID: c.AppID}, &findItems)
if err != nil {
if err := c.findItems(ctx, params, &findItemsByKeywordsParams{appID: c.AppID}, &findItems); err != nil {
return findItems, err
}
return findItems, nil
Expand All @@ -123,8 +121,7 @@ func (c *FindingClient) FindItemsByKeywords(ctx context.Context, params map[stri
// [Searching by Keywords]: https://developer.ebay.com/api-docs/user-guides/static/finding-user-guide/finding-searching-by-keywords.html
func (c *FindingClient) FindItemsAdvanced(ctx context.Context, params map[string]string) (FindItemsAdvancedResponse, error) {
var findItems FindItemsAdvancedResponse
err := c.findItems(ctx, params, &findItemsAdvancedParams{appID: c.AppID}, &findItems)
if err != nil {
if err := c.findItems(ctx, params, &findItemsAdvancedParams{appID: c.AppID}, &findItems); err != nil {
return findItems, err
}
return findItems, nil
Expand All @@ -147,8 +144,7 @@ func (c *FindingClient) FindItemsAdvanced(ctx context.Context, params map[string
// [Searching by Product]: https://developer.ebay.com/api-docs/user-guides/static/finding-user-guide/finding-searching-by-product.html
func (c *FindingClient) FindItemsByProduct(ctx context.Context, params map[string]string) (FindItemsByProductResponse, error) {
var findItems FindItemsByProductResponse
err := c.findItems(ctx, params, &findItemsByProductParams{appID: c.AppID}, &findItems)
if err != nil {
if err := c.findItems(ctx, params, &findItemsByProductParams{appID: c.AppID}, &findItems); err != nil {
return findItems, err
}
return findItems, nil
Expand Down Expand Up @@ -176,8 +172,7 @@ func (c *FindingClient) FindItemsByProduct(ctx context.Context, params map[strin
// [Searching by Keywords]: https://developer.ebay.com/api-docs/user-guides/static/finding-user-guide/finding-searching-by-keywords.html
func (c *FindingClient) FindItemsInEBayStores(ctx context.Context, params map[string]string) (FindItemsInEBayStoresResponse, error) {
var findItems FindItemsInEBayStoresResponse
err := c.findItems(ctx, params, &findItemsInEBayStoresParams{appID: c.AppID}, &findItems)
if err != nil {
if err := c.findItems(ctx, params, &findItemsInEBayStoresParams{appID: c.AppID}, &findItems); err != nil {
return findItems, err
}
return findItems, nil
Expand All @@ -195,8 +190,7 @@ var (
)

func (c *FindingClient) findItems(ctx context.Context, params map[string]string, v findParamsValidator, res ResultProvider) error {
err := v.validate(params)
if err != nil {
if err := v.validate(params); err != nil {
return &APIError{Err: err, StatusCode: http.StatusBadRequest}
}
req, err := v.newRequest(ctx, c.URL)
Expand Down
5 changes: 2 additions & 3 deletions finding_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4676,7 +4676,7 @@ func testFindItems(t *testing.T, params map[string]string, findMethod string, wa

t.Run("returns error if the client returns an error", func(t *testing.T) {
t.Parallel()
fc := ebay.NewFindingClient(&http.Client{}, appID)
fc := ebay.NewFindingClient(http.DefaultClient, appID)
fc.URL = "http://localhost"

var err error
Expand Down Expand Up @@ -4789,8 +4789,7 @@ func testFindItems(t *testing.T, params map[string]string, findMethod string, wa
badData := `[123.1, 234.2]`
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
_, err := w.Write([]byte(badData))
if err != nil {
if _, err := w.Write([]byte(badData)); err != nil {
t.Fatal(err)
}
}))
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module github.com/matthewdargan/ebay

go 1.21.0
go 1.21.1
48 changes: 16 additions & 32 deletions params.go
Original file line number Diff line number Diff line change
Expand Up @@ -243,8 +243,7 @@ func (fp *findItemsByCategoryParams) validate(params map[string]string) error {
fp.categoryIDs = categoryIDs
globalID, ok := params["Global-ID"]
if ok {
err := validateGlobalID(globalID)
if err != nil {
if err := validateGlobalID(globalID); err != nil {
return err
}
fp.globalID = &globalID
Expand Down Expand Up @@ -278,8 +277,7 @@ func (fp *findItemsByCategoryParams) validate(params map[string]string) error {
}
sortOrder, ok := params["sortOrder"]
if ok {
err := validateSortOrder(sortOrder, fp.itemFilters, fp.buyerPostalCode != nil)
if err != nil {
if err := validateSortOrder(sortOrder, fp.itemFilters, fp.buyerPostalCode != nil); err != nil {
return err
}
fp.sortOrder = &sortOrder
Expand Down Expand Up @@ -375,8 +373,7 @@ func (fp *findItemsByKeywordsParams) validate(params map[string]string) error {
fp.keywords = keywords
globalID, ok := params["Global-ID"]
if ok {
err := validateGlobalID(globalID)
if err != nil {
if err := validateGlobalID(globalID); err != nil {
return err
}
fp.globalID = &globalID
Expand Down Expand Up @@ -410,8 +407,7 @@ func (fp *findItemsByKeywordsParams) validate(params map[string]string) error {
}
sortOrder, ok := params["sortOrder"]
if ok {
err := validateSortOrder(sortOrder, fp.itemFilters, fp.buyerPostalCode != nil)
if err != nil {
if err := validateSortOrder(sortOrder, fp.itemFilters, fp.buyerPostalCode != nil); err != nil {
return err
}
fp.sortOrder = &sortOrder
Expand Down Expand Up @@ -522,8 +518,7 @@ func (fp *findItemsAdvancedParams) validate(params map[string]string) error {
}
globalID, ok := params["Global-ID"]
if ok {
err := validateGlobalID(globalID)
if err != nil {
if err := validateGlobalID(globalID); err != nil {
return err
}
fp.globalID = &globalID
Expand Down Expand Up @@ -565,8 +560,7 @@ func (fp *findItemsAdvancedParams) validate(params map[string]string) error {
}
sortOrder, ok := params["sortOrder"]
if ok {
err := validateSortOrder(sortOrder, fp.itemFilters, fp.buyerPostalCode != nil)
if err != nil {
if err := validateSortOrder(sortOrder, fp.itemFilters, fp.buyerPostalCode != nil); err != nil {
return err
}
fp.sortOrder = &sortOrder
Expand Down Expand Up @@ -677,8 +671,7 @@ func (fp *findItemsByProductParams) validate(params map[string]string) error {
}
globalID, ok := params["Global-ID"]
if ok {
err := validateGlobalID(globalID)
if err != nil {
if err := validateGlobalID(globalID); err != nil {
return err
}
fp.globalID = &globalID
Expand Down Expand Up @@ -708,8 +701,7 @@ func (fp *findItemsByProductParams) validate(params map[string]string) error {
}
sortOrder, ok := params["sortOrder"]
if ok {
err := validateSortOrder(sortOrder, fp.itemFilters, fp.buyerPostalCode != nil)
if err != nil {
if err := validateSortOrder(sortOrder, fp.itemFilters, fp.buyerPostalCode != nil); err != nil {
return err
}
fp.sortOrder = &sortOrder
Expand Down Expand Up @@ -815,16 +807,14 @@ func (fp *findItemsInEBayStoresParams) validate(params map[string]string) error
fp.keywords = &keywords
}
if ok {
err := validateStoreName(storeName)
if err != nil {
if err := validateStoreName(storeName); err != nil {
return err
}
fp.storeName = &storeName
}
globalID, ok := params["Global-ID"]
if ok {
err := validateGlobalID(globalID)
if err != nil {
if err := validateGlobalID(globalID); err != nil {
return err
}
fp.globalID = &globalID
Expand Down Expand Up @@ -859,8 +849,7 @@ func (fp *findItemsInEBayStoresParams) validate(params map[string]string) error
}
sortOrder, ok := params["sortOrder"]
if ok {
err := validateSortOrder(sortOrder, fp.itemFilters, fp.buyerPostalCode != nil)
if err != nil {
if err := validateSortOrder(sortOrder, fp.itemFilters, fp.buyerPostalCode != nil); err != nil {
return err
}
fp.sortOrder = &sortOrder
Expand Down Expand Up @@ -948,8 +937,7 @@ func processCategoryIDs(params map[string]string) ([]string, error) {
return nil, ErrInvalidIndexSyntax
}
if nonNumberedExists {
err := validateCategoryID(categoryID)
if err != nil {
if err := validateCategoryID(categoryID); err != nil {
return nil, err
}
return []string{categoryID}, nil
Expand All @@ -960,8 +948,7 @@ func processCategoryIDs(params map[string]string) ([]string, error) {
if !ok {
break
}
err := validateCategoryID(cID)
if err != nil {
if err := validateCategoryID(cID); err != nil {
return nil, err
}
categoryIDs = append(categoryIDs, cID)
Expand All @@ -976,8 +963,7 @@ func validateCategoryID(id string) error {
if len(id) > maxCategoryIDLen {
return ErrInvalidCategoryIDLength
}
_, err := strconv.Atoi(id)
if err != nil {
if _, err := strconv.Atoi(id); err != nil {
return fmt.Errorf("%w: %w", ErrInvalidCategoryID, err)
}
return nil
Expand Down Expand Up @@ -1230,8 +1216,7 @@ func processAffiliate(params map[string]string) (*affiliate, error) {
return nil, ErrInvalidNetworkIDRange
}
if nID == ebayPartnerNetworkID {
err := validateTrackingID(trackingID)
if err != nil {
if err := validateTrackingID(trackingID); err != nil {
return nil, err
}
}
Expand All @@ -1241,8 +1226,7 @@ func processAffiliate(params map[string]string) (*affiliate, error) {
}

func validateTrackingID(trackingID string) error {
_, err := strconv.Atoi(trackingID)
if err != nil {
if _, err := strconv.Atoi(trackingID); err != nil {
return fmt.Errorf("%w: %w", ErrInvalidTrackingID, err)
}
const maxCampIDLen = 10
Expand Down

0 comments on commit 746dbee

Please sign in to comment.