able to parse xml

This commit is contained in:
2024-01-28 16:49:48 +03:00
parent 90a7797a27
commit bfa105df95
12 changed files with 298 additions and 89 deletions

View File

@ -20,18 +20,28 @@ import (
)
type Client interface {
GetGoodsRemnants(context.Context, []int) (entity.MappedGoodsRemnants, error)
GetGoodsNew(
context.Context,
GetGoodsNewParams,
) (items []entity.GoodsItemRaw, total int, err error)
}
type client struct {
http *resty.Client
log zerolog.Logger
ownerID string
}
type Config config.Eway
func New(cfg Config, log zerolog.Logger) client {
if cfg.Contract == "" {
cfg.Contract = "6101"
func New(cfg Config, log zerolog.Logger) (client, error) {
if cfg.SessionID == "" {
return client{}, entity.SimpleError("no session id provided")
}
if cfg.SessionUser == "" {
return client{}, entity.SimpleError("no session user provided")
}
cookies := []*http.Cookie{
@ -47,12 +57,6 @@ func New(cfg Config, log zerolog.Logger) client {
Domain: "eway.elevel.ru",
HttpOnly: true,
},
{
Name: "contract",
Value: cfg.Contract,
Domain: "eway.elevel.ru",
HttpOnly: true,
},
}
httpclient := resty.New().
@ -63,17 +67,11 @@ func New(cfg Config, log zerolog.Logger) client {
return client{
http: httpclient,
log: log.With().Str("client", "eway").Logger(),
}
}
type getGoodsNewOrder struct {
Column int
Dir string
}, nil
}
type GetGoodsNewParams struct {
Draw int
Order getGoodsNewOrder
Start int
// 100 is max
Length int
@ -212,7 +210,7 @@ func (c client) GetGoodsNew(
"remnants_atleast": "5",
}).
SetQueryParam("category_id", "0").
SetQueryParam("own", "26476"). // user id?
SetQueryParam("own", c.ownerID). // user id?
SetDoNotParseResponse(true).
Post("/goods_new")
if err != nil {