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
CI / build (push) Successful in 49s
This commit is contained in:
@@ -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}},
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user