fix parameter unmarshal

This commit is contained in:
Aleksandr Trushkin
2024-02-04 21:57:25 +03:00
parent 308d48b948
commit 71a47fa135
2 changed files with 13 additions and 5 deletions

View File

@ -126,10 +126,13 @@ func ParseGoodsItem(data []byte) (item entity.GoodsItem, err error) {
item.Cart = itemFBS.Cart() item.Cart = itemFBS.Cart()
item.Stock = int(itemFBS.Stock()) item.Stock = int(itemFBS.Stock())
item.Parameters = map[string]string{} item.Parameters = map[string]string{}
parameters := itemFBS.Parameters()
if len(parameters) > 0 {
err = json.Unmarshal(itemFBS.Parameters(), &item.Parameters) err = json.Unmarshal(itemFBS.Parameters(), &item.Parameters)
if err != nil { if err != nil {
return item, fmt.Errorf("unmarshalling data: %w", err) return item, fmt.Errorf("unmarshalling data: %w", err)
} }
}
return item, nil return item, nil
} }

View File

@ -31,7 +31,7 @@ func newGoodsItemClient(db *badger.DB, serializeAsJSON bool) *goodsItemClient {
s = goodsItemJSONSerializer{} s = goodsItemJSONSerializer{}
} else { } else {
s = goodsItemFlatbufSerializer{} s = goodsItemFlatbufSerializer{}
}
return &goodsItemClient{ return &goodsItemClient{
db: db, db: db,
s: s, s: s,
@ -313,7 +313,12 @@ type itemSerializer[T any] interface {
type goodsItemJSONSerializer struct{} type goodsItemJSONSerializer struct{}
func (goodsItemJSONSerializer) Serialize(in entity.GoodsItem) ([]byte, error) { func (goodsItemJSONSerializer) Serialize(in entity.GoodsItem) ([]byte, error) {
return json.Marshal(in) data, err := json.Marshal(in)
if err != nil {
return nil, fmt.Errorf("marshalling data: %w", err)
}
return data, nil
} }
func (goodsItemJSONSerializer) Deserialize(data []byte) (in entity.GoodsItem, err error) { func (goodsItemJSONSerializer) Deserialize(data []byte) (in entity.GoodsItem, err error) {