quests: admin player-quest client (list/reset/force-complete/force-claim), generated models
CI / build (push) Successful in 56s
CI / build (push) Successful in 56s
This commit is contained in:
@@ -21,6 +21,7 @@ type Client struct {
|
||||
Wallet *WalletService
|
||||
Inventory *InventoryService
|
||||
Storage *StorageService
|
||||
Quests *QuestsService
|
||||
|
||||
ProjectStorage *ProjectStorageService
|
||||
}
|
||||
@@ -53,6 +54,7 @@ func New(config Config) (*Client, error) {
|
||||
Wallet: &WalletService{transport: transport},
|
||||
Inventory: &InventoryService{transport: transport},
|
||||
Storage: &StorageService{transport: transport},
|
||||
Quests: &QuestsService{transport: transport},
|
||||
|
||||
ProjectStorage: &ProjectStorageService{transport: transport},
|
||||
}, nil
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
// Code generated by apigen. DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
type AdminPlayerQuest struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Objectives []AdminPlayerQuestObjective `json:"objectives,omitempty"`
|
||||
QuestID string `json:"questId,omitempty"`
|
||||
Status string `json:"status,omitempty"`
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
// Code generated by apigen. DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
type AdminPlayerQuestObjective struct {
|
||||
Current int64 `json:"current,omitempty"`
|
||||
ObjectiveID string `json:"objectiveId,omitempty"`
|
||||
Target int64 `json:"target,omitempty"`
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
// Code generated by apigen. DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
type AdminPlayerQuestRequest struct {
|
||||
QuestID string `json:"questId,omitempty"`
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
// Code generated by apigen. DO NOT EDIT.
|
||||
|
||||
package models
|
||||
|
||||
type ListPlayerQuestsResponse struct {
|
||||
Quests []AdminPlayerQuest `json:"quests,omitempty"`
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user