updates
This commit is contained in:
2
go.mod
2
go.mod
@@ -1,3 +1,5 @@
|
|||||||
module github.com/debyltech/go-snipcart
|
module github.com/debyltech/go-snipcart
|
||||||
|
|
||||||
go 1.20
|
go 1.20
|
||||||
|
|
||||||
|
require github.com/debyltech/go-helpers v0.0.0-20230224002154-eb55816c71ec
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
package snipcart
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
type URLQuery struct {
|
|
||||||
Key string
|
|
||||||
Value string
|
|
||||||
}
|
|
||||||
|
|
||||||
func JSONGet(uri string, authName string, authValue string, queries []URLQuery) (*http.Response, error) {
|
|
||||||
client := &http.Client{}
|
|
||||||
|
|
||||||
request, err := http.NewRequest("GET", uri, nil)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
request.Header.Set("Accept", "application/json")
|
|
||||||
request.Header.Set("Authorization", fmt.Sprintf("%s %s", authName, authValue))
|
|
||||||
|
|
||||||
if len(queries) > 0 {
|
|
||||||
q := request.URL.Query()
|
|
||||||
|
|
||||||
for _, query := range queries {
|
|
||||||
q.Add(query.Key, query.Value)
|
|
||||||
}
|
|
||||||
|
|
||||||
request.URL.RawQuery = q.Encode()
|
|
||||||
}
|
|
||||||
|
|
||||||
response, err := client.Do(request)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return response, nil
|
|
||||||
}
|
|
||||||
@@ -3,8 +3,10 @@ package snipcart
|
|||||||
import (
|
import (
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
|
||||||
|
helper "github.com/debyltech/go-helpers"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -62,24 +64,8 @@ func NewSnipcartProvider(snipcartApiKey string) SnipcartProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SnipcartProvider) GetOrders() (*SnipcartOrders, error) {
|
func (s *SnipcartProvider) GetOrders(queries map[string]string) (*SnipcartOrders, error) {
|
||||||
return s.GetOrdersByStatus("")
|
response, err := helper.Get(orderUri, "Basic", s.AuthBase64, queries)
|
||||||
}
|
|
||||||
|
|
||||||
func (s *SnipcartProvider) GetOrdersByStatus(status OrderStatus) (*SnipcartOrders, error) {
|
|
||||||
if s.Limit == 0 {
|
|
||||||
s.Limit = defaultLimit
|
|
||||||
}
|
|
||||||
|
|
||||||
queries := []URLQuery{
|
|
||||||
{Key: "limit", Value: strconv.Itoa(s.Limit)},
|
|
||||||
}
|
|
||||||
|
|
||||||
if status != "" {
|
|
||||||
queries = append(queries, URLQuery{Key: "status", Value: string(status)})
|
|
||||||
}
|
|
||||||
|
|
||||||
response, err := JSONGet(orderUri, "Basic", s.AuthBase64, queries)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -97,3 +83,11 @@ func (s *SnipcartProvider) GetOrdersByStatus(status OrderStatus) (*SnipcartOrder
|
|||||||
|
|
||||||
return &orders, nil
|
return &orders, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SnipcartProvider) GetOrdersByStatus(status OrderStatus) (*SnipcartOrders, error) {
|
||||||
|
if status == "" {
|
||||||
|
return nil, errors.New("status is not set")
|
||||||
|
}
|
||||||
|
|
||||||
|
return s.GetOrders(map[string]string{"status": string(status)})
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user