39 lines
968 B
Go
39 lines
968 B
Go
package api
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
basket "git.pbiernat.space/egommerce/api-entities/basket/dto"
|
|
cnf "git.pbiernat.space/egommerce/go-api-pkg/config"
|
|
)
|
|
|
|
func NewBasketAPI() *BasketAPI {
|
|
return &BasketAPI{NewHttpClient(cnf.GetEnv("API_REST_BASKET", "basket-svc"))}
|
|
}
|
|
|
|
type BasketAPI struct {
|
|
httpClient *HttpClient
|
|
}
|
|
|
|
func (a *BasketAPI) GetBasket(basketID string) (*basket.GetBasketResponseDTO, error) {
|
|
req := &basket.GetBasketRequestDTO{BasketID: basketID}
|
|
res := new(basket.GetBasketResponseDTO)
|
|
if err := a.httpClient.SendGet("/api/v1/basket", req, res); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return res, nil
|
|
}
|
|
|
|
func (a *BasketAPI) GetBasketItems(basketID string) ([]*basket.GetBasketItemsResponseDTO, error) {
|
|
url := fmt.Sprintf("/api/v1/basket/items")
|
|
req := basket.GetBasketItemsRequestDTO{BasketID: basketID}
|
|
var res []*basket.GetBasketItemsResponseDTO
|
|
|
|
if err := a.httpClient.SendGet(url, req, &res); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return res, nil
|
|
}
|