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
+25 -6
View File
@@ -16,14 +16,14 @@ type Config struct {
type Client struct {
Players *PlayersService
Metrics *MetricsService
Leaderboards *LeaderboardsService
Wallet *WalletService
Inventory *InventoryService
Storage *StorageService
Quests *QuestsService
Storage *StorageService
Metrics *MetricsService
ProjectStorage *ProjectStorageService
transport *transport
}
func New(config Config) (*Client, error) {
@@ -49,13 +49,32 @@ func New(config Config) (*Client, error) {
return &Client{
Players: &PlayersService{transport: transport},
Metrics: &MetricsService{transport: transport},
Leaderboards: &LeaderboardsService{transport: transport},
Wallet: &WalletService{transport: transport},
Inventory: &InventoryService{transport: transport},
Storage: &StorageService{transport: transport},
Quests: &QuestsService{transport: transport},
Storage: &StorageService{transport: transport},
Metrics: &MetricsService{transport: transport},
ProjectStorage: &ProjectStorageService{transport: transport},
transport: transport,
}, nil
}
func (c *Client) Player(playerID string) *PlayerHandle {
return &PlayerHandle{
playerID: playerID,
transport: c.transport,
players: c.Players,
wallet: c.Wallet,
inventory: c.Inventory,
quests: c.Quests,
}
}
func (c *Client) Leaderboard(slug string) *LeaderboardHandle {
return &LeaderboardHandle{
slug: slug,
transport: c.transport,
leaderboards: c.Leaderboards,
}
}