diff --git a/.github/workflows/go-ci.yml b/.github/workflows/go.yml similarity index 61% rename from .github/workflows/go-ci.yml rename to .github/workflows/go.yml index 4ed4194..4dff470 100644 --- a/.github/workflows/go-ci.yml +++ b/.github/workflows/go.yml @@ -1,22 +1,19 @@ -name: go-ci +name: Go on: push: - branches: - - main + branches: main pull_request: - branches: - - main + branches: ["*"] permissions: contents: read - pull-requests: read jobs: - golangci: + lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 with: go-version: "1.21" check-latest: true @@ -27,10 +24,10 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 with: go-version: "1.21" check-latest: true - name: Test - run: go test -v ./... + run: go test -v diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 0000000..db04bab --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,24 @@ +output: + sort-results: true + +linters: + enable: + - gofumpt + - nolintlint + - paralleltest + - revive + +linters-settings: + govet: + enable-all: true + disable: + - fieldalignment + + errcheck: + exclude-functions: + - (io.Closer).Close + +issues: + exclude-use-default: false + max-issues-per-linter: 0 + max-same-issues: 0 diff --git a/filter.go b/filter.go index b83dbf0..7d455af 100644 --- a/filter.go +++ b/filter.go @@ -144,11 +144,11 @@ func processNonNumberedAspectFilter(params map[string]string) ([]aspectFilter, e if err != nil { return nil, err } - filter := aspectFilter{ + flt := aspectFilter{ aspectName: params["aspectFilter.aspectName"], aspectValueNames: filterValues, } - return []aspectFilter{filter}, nil + return []aspectFilter{flt}, nil } func processNumberedAspectFilters(params map[string]string) ([]aspectFilter, error) { @@ -162,11 +162,11 @@ func processNumberedAspectFilters(params map[string]string) ([]aspectFilter, err if err != nil { return nil, err } - aspectFilter := aspectFilter{ + flt := aspectFilter{ aspectName: name, aspectValueNames: filterValues, } - aspectFilters = append(aspectFilters, aspectFilter) + aspectFilters = append(aspectFilters, flt) } return aspectFilters, nil } @@ -188,7 +188,7 @@ func processNonNumberedItemFilter(params map[string]string) ([]itemFilter, error if err != nil { return nil, err } - filter := itemFilter{ + flt := itemFilter{ name: params["itemFilter.name"], values: filterValues, } @@ -198,13 +198,13 @@ func processNonNumberedItemFilter(params map[string]string) ([]itemFilter, error return nil, ErrIncompleteItemFilterParam } if pnOk && pvOk { - filter.paramName = &pn - filter.paramValue = &pv + flt.paramName = &pn + flt.paramValue = &pv } - if err = handleItemFilterType(&filter, nil, params); err != nil { + if err = handleItemFilterType(&flt, nil, params); err != nil { return nil, err } - return []itemFilter{filter}, nil + return []itemFilter{flt}, nil } func processNumberedItemFilters(params map[string]string) ([]itemFilter, error) { @@ -218,7 +218,7 @@ func processNumberedItemFilters(params map[string]string) ([]itemFilter, error) if err != nil { return nil, err } - itemFilter := itemFilter{ + flt := itemFilter{ name: name, values: filterValues, } @@ -228,10 +228,10 @@ func processNumberedItemFilters(params map[string]string) ([]itemFilter, error) return nil, ErrIncompleteItemFilterParam } if pnOk && pvOk { - itemFilter.paramName = &pn - itemFilter.paramValue = &pv + flt.paramName = &pn + flt.paramValue = &pv } - itemFilters = append(itemFilters, itemFilter) + itemFilters = append(itemFilters, flt) } for i := range itemFilters { if err := handleItemFilterType(&itemFilters[i], itemFilters, params); err != nil { diff --git a/params.go b/params.go index 2026ae3..136e9bc 100644 --- a/params.go +++ b/params.go @@ -243,7 +243,7 @@ func (fp *findItemsByCategoryParams) validate(params map[string]string) error { fp.categoryIDs = categoryIDs globalID, ok := params["Global-ID"] if ok { - if err := validateGlobalID(globalID); err != nil { + if err = validateGlobalID(globalID); err != nil { return err } fp.globalID = &globalID @@ -373,7 +373,7 @@ func (fp *findItemsByKeywordsParams) validate(params map[string]string) error { fp.keywords = keywords globalID, ok := params["Global-ID"] if ok { - if err := validateGlobalID(globalID); err != nil { + if err = validateGlobalID(globalID); err != nil { return err } fp.globalID = &globalID @@ -671,7 +671,7 @@ func (fp *findItemsByProductParams) validate(params map[string]string) error { } globalID, ok := params["Global-ID"] if ok { - if err := validateGlobalID(globalID); err != nil { + if err = validateGlobalID(globalID); err != nil { return err } fp.globalID = &globalID diff --git a/response.go b/response.go index eeeff7a..b78867f 100644 --- a/response.go +++ b/response.go @@ -7,7 +7,7 @@ import "time" // A ResultProvider represents results from eBay Finding API endpoints. type ResultProvider interface { - // Results returns results from the eBay Finding API endpoint. + // Results returns results from an eBay Finding API endpoint. Results() []FindItemsResponse } @@ -16,6 +16,8 @@ type FindItemsByCategoriesResponse struct { ItemsResponse []FindItemsResponse `json:"findItemsByCategoryResponse"` } +// Results returns results from the eBay Finding API findItemsByCategory endpoint. +// See https://developer.ebay.com/devzone/finding/CallRef/findItemsByCategory.html. func (r FindItemsByCategoriesResponse) Results() []FindItemsResponse { return r.ItemsResponse } @@ -25,6 +27,8 @@ type FindItemsByKeywordsResponse struct { ItemsResponse []FindItemsResponse `json:"findItemsByKeywordsResponse"` } +// Results returns results from the eBay Finding API findItemsByKeywords endpoint. +// See https://developer.ebay.com/devzone/finding/CallRef/findItemsByKeywords.html. func (r FindItemsByKeywordsResponse) Results() []FindItemsResponse { return r.ItemsResponse } @@ -34,6 +38,8 @@ type FindItemsAdvancedResponse struct { ItemsResponse []FindItemsResponse `json:"findItemsAdvancedResponse"` } +// Results returns results from the eBay Finding API findItemsAdvanced endpoint. +// See https://developer.ebay.com/devzone/finding/CallRef/findItemsAdvanced.html. func (r FindItemsAdvancedResponse) Results() []FindItemsResponse { return r.ItemsResponse } @@ -43,6 +49,8 @@ type FindItemsByProductResponse struct { ItemsResponse []FindItemsResponse `json:"findItemsByProductResponse"` } +// Results returns results from the eBay Finding API findItemsByProduct endpoint. +// See https://developer.ebay.com/devzone/finding/CallRef/findItemsByProduct.html. func (r FindItemsByProductResponse) Results() []FindItemsResponse { return r.ItemsResponse } @@ -52,6 +60,8 @@ type FindItemsInEBayStoresResponse struct { ItemsResponse []FindItemsResponse `json:"findItemsIneBayStoresResponse"` } +// Results returns results from the eBay Finding API findItemsIneBayStores endpoint. +// See https://developer.ebay.com/devzone/finding/CallRef/findItemsIneBayStores.html. func (r FindItemsInEBayStoresResponse) Results() []FindItemsResponse { return r.ItemsResponse }