Files
rudder-go-sdk/player_inventory.go
T

40 lines
1007 B
Go
Raw Normal View History

package rudder
import (
"context"
"hub.rudder.build/rudder/rudder-go-sdk/models"
)
type PlayerInventoryHandle struct {
playerID string
inventory *InventoryService
}
type AdjustPlayerInventoryParameters struct {
IdempotencyKey string
Slug string
Amount int64
Reason string
}
func (h *PlayerInventoryHandle) Adjust(ctx context.Context, parameters AdjustPlayerInventoryParameters) (*models.InventoryItem, error) {
items, err := h.inventory.Adjust(ctx, AdjustInventoryParameters{
IdempotencyKey: parameters.IdempotencyKey,
Items: []models.BatchAdjustPlayerInventoryItemsItem{{
PlayerID: h.playerID,
Slug: parameters.Slug,
Amount: parameters.Amount,
Reason: parameters.Reason,
}},
})
if err != nil {
return nil, err
}
return &items[0], nil
}
func (h *PlayerInventoryHandle) List(ctx context.Context, parameters ListInventoryParameters) (*models.GetPlayerInventoryResponse, error) {
return h.inventory.List(ctx, h.playerID, parameters)
}