v0.5.0: batch-first API, player/leaderboard handles, unified naming, Storage is global project storage, catalog list methods
CI / build (push) Successful in 49s

This commit is contained in:
edmand46
2026-08-26 18:30:28 +03:00
parent db1223c195
commit ef5bbe2df2
60 changed files with 1066 additions and 258 deletions
+49
View File
@@ -0,0 +1,49 @@
package rudder
import (
"context"
"net/http"
"net/url"
"hub.rudder.build/rudder/rudder-go-sdk/models"
)
type PlayerQuestsHandle struct {
playerID string
transport *transport
quests *QuestsService
}
func (h *PlayerQuestsHandle) List(ctx context.Context) ([]models.AdminPlayerQuest, error) {
var response models.ListPlayerQuestsResponse
if err := h.transport.do(ctx, http.MethodGet, "/players/"+url.PathEscape(h.playerID)+"/quests", nil, nil, &response); err != nil {
return nil, err
}
return response.Quests, nil
}
type PlayerQuestParameters struct {
IdempotencyKey string
QuestID string
}
func (h *PlayerQuestsHandle) Reset(ctx context.Context, parameters PlayerQuestParameters) error {
return h.quests.Reset(ctx, ResetPlayerQuestsParameters{
IdempotencyKey: parameters.IdempotencyKey,
Items: []models.BatchPlayerQuestsItem{{PlayerID: h.playerID, QuestID: parameters.QuestID}},
})
}
func (h *PlayerQuestsHandle) ForceComplete(ctx context.Context, parameters PlayerQuestParameters) error {
return h.quests.ForceComplete(ctx, ForceCompletePlayerQuestsParameters{
IdempotencyKey: parameters.IdempotencyKey,
Items: []models.BatchPlayerQuestsItem{{PlayerID: h.playerID, QuestID: parameters.QuestID}},
})
}
func (h *PlayerQuestsHandle) ForceClaim(ctx context.Context, parameters PlayerQuestParameters) error {
return h.quests.ForceClaim(ctx, ForceClaimPlayerQuestsParameters{
IdempotencyKey: parameters.IdempotencyKey,
Items: []models.BatchPlayerQuestsItem{{PlayerID: h.playerID, QuestID: parameters.QuestID}},
})
}