40 lines
1007 B
Go
40 lines
1007 B
Go
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)
|
|
}
|