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 }