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
|
Wallet *WalletService
|
||||||
Inventory *InventoryService
|
Inventory *InventoryService
|
||||||
Storage *StorageService
|
Storage *StorageService
|
||||||
|
Quests *QuestsService
|
||||||
|
|
||||||
ProjectStorage *ProjectStorageService
|
ProjectStorage *ProjectStorageService
|
||||||
}
|
}
|
||||||
@@ -53,6 +54,7 @@ func New(config Config) (*Client, error) {
|
|||||||
Wallet: &WalletService{transport: transport},
|
Wallet: &WalletService{transport: transport},
|
||||||
Inventory: &InventoryService{transport: transport},
|
Inventory: &InventoryService{transport: transport},
|
||||||
Storage: &StorageService{transport: transport},
|
Storage: &StorageService{transport: transport},
|
||||||
|
Quests: &QuestsService{transport: transport},
|
||||||
|
|
||||||
ProjectStorage: &ProjectStorageService{transport: transport},
|
ProjectStorage: &ProjectStorageService{transport: transport},
|
||||||
}, nil
|
}, 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