quests: admin player-quest client (list/reset/force-complete/force-claim), generated models
CI / build (push) Successful in 56s

This commit is contained in:
edmand46
2026-08-25 16:25:29 +03:00
parent cafc2bfc6a
commit 4b5922c92f
6 changed files with 77 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
package rudder
import (
"context"
"net/http"
"net/url"
"hub.rudder.build/rudder/rudder-go-sdk/models"
)
type QuestsService struct {
transport *transport
}
func (s *QuestsService) ListPlayerQuests(ctx context.Context, playerID string) ([]models.AdminPlayerQuest, error) {
var response models.ListPlayerQuestsResponse
if err := s.transport.do(ctx, http.MethodGet, "/players/"+url.PathEscape(playerID)+"/quests", nil, nil, &response); err != nil {
return nil, err
}
return response.Quests, nil
}
func (s *QuestsService) ResetPlayerQuest(ctx context.Context, playerID string, questID string) error {
body := models.AdminPlayerQuestRequest{
QuestID: questID,
}
return s.transport.do(ctx, http.MethodPost, "/players/"+url.PathEscape(playerID)+"/quests/reset", nil, body, nil)
}
func (s *QuestsService) ForceCompletePlayerQuest(ctx context.Context, playerID string, questID string) error {
body := models.AdminPlayerQuestRequest{
QuestID: questID,
}
return s.transport.do(ctx, http.MethodPost, "/players/"+url.PathEscape(playerID)+"/quests/force-complete", nil, body, nil)
}
func (s *QuestsService) ForceClaimPlayerQuest(ctx context.Context, playerID string, questID string) error {
body := models.AdminPlayerQuestRequest{
QuestID: questID,
}
return s.transport.do(ctx, http.MethodPost, "/players/"+url.PathEscape(playerID)+"/quests/force-claim", nil, body, nil)
}