Files
go-api-pkg/api/rest/basket.go
2025-11-16 14:23:49 +01:00

39 lines
972 B
Go

package api
import (
"fmt"
basket "git.ego.freeddns.org/egommerce/api-entities/basket/dto"
cnf "git.ego.freeddns.org/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
}