add player data operations: update, ban/unban, delete, inventory adjust, storage
Players.Update/Ban/Unban/Delete + List search; new InventoryService.Adjust and StorageService.Get/Upsert/Delete; IdempotencyKey on wallet adjust; models regenerated via apigen
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package rudder
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
"net/url"
|
||||
|
||||
"hub.rudder.build/rudder/rudder-go-sdk/models"
|
||||
)
|
||||
|
||||
type InventoryService struct {
|
||||
transport *transport
|
||||
}
|
||||
|
||||
type AdjustInventoryParameters struct {
|
||||
Slug string
|
||||
Amount int64
|
||||
Reason string
|
||||
IdempotencyKey string
|
||||
}
|
||||
|
||||
func (s *InventoryService) Adjust(ctx context.Context, playerID string, parameters AdjustInventoryParameters) (*models.InventoryItem, error) {
|
||||
body := models.AdjustPlayerInventoryItemRequest{
|
||||
Slug: parameters.Slug,
|
||||
Amount: parameters.Amount,
|
||||
Reason: parameters.Reason,
|
||||
IdempotencyKey: parameters.IdempotencyKey,
|
||||
}
|
||||
|
||||
var response models.InventoryItem
|
||||
if err := s.transport.do(ctx, http.MethodPost, "/players/"+url.PathEscape(playerID)+"/inventory/adjust", nil, body, &response); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &response, nil
|
||||
}
|
||||
Reference in New Issue
Block a user