70 lines
2.1 KiB
Go
70 lines
2.1 KiB
Go
package model
|
|
|
|
type PlayerProfile struct {
|
|
ID int `json:"id"`
|
|
Level int `json:"level"`
|
|
XP int `json:"xp"`
|
|
XPToNext int `json:"xp_to_next"`
|
|
}
|
|
|
|
type XPEvent struct {
|
|
ID int `json:"id"`
|
|
EventType string `json:"event_type"`
|
|
XPEarned int `json:"xp_earned"`
|
|
Description string `json:"description"`
|
|
CreatedAt string `json:"created_at"`
|
|
}
|
|
|
|
type Quest struct {
|
|
ID int `json:"id"`
|
|
Title string `json:"title"`
|
|
Description string `json:"description"`
|
|
QuestType string `json:"quest_type"`
|
|
TargetCount *int `json:"target_count"`
|
|
TargetPct *float64 `json:"target_pct"`
|
|
XPReward int `json:"xp_reward"`
|
|
}
|
|
|
|
type PlayerQuest struct {
|
|
ID int `json:"id"`
|
|
QuestID int `json:"quest_id"`
|
|
Title string `json:"title"`
|
|
QuestType string `json:"quest_type"`
|
|
TargetCount *int `json:"target_count"`
|
|
TargetPct *float64 `json:"target_pct"`
|
|
XPReward int `json:"xp_reward"`
|
|
Period string `json:"period"`
|
|
CurrentCount int `json:"current_count"`
|
|
CurrentPct float64 `json:"current_pct"`
|
|
Completed bool `json:"completed"`
|
|
Claimed bool `json:"claimed"`
|
|
}
|
|
|
|
type Achievement struct {
|
|
ID int `json:"id"`
|
|
Title string `json:"title"`
|
|
Description string `json:"description"`
|
|
Icon string `json:"icon"`
|
|
XPReward int `json:"xp_reward"`
|
|
UnlockCondition string `json:"unlock_condition"`
|
|
Earned bool `json:"earned"`
|
|
EarnedAt string `json:"earned_at,omitempty"`
|
|
}
|
|
|
|
type Cosmetic struct {
|
|
ID int `json:"id"`
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
UnlockLevel int `json:"unlock_level"`
|
|
CSSData string `json:"css_data"`
|
|
Unlocked bool `json:"unlocked"`
|
|
Equipped bool `json:"equipped"`
|
|
}
|
|
|
|
type GameSummary struct {
|
|
Profile PlayerProfile `json:"profile"`
|
|
ActiveQuests []PlayerQuest `json:"active_quests"`
|
|
RecentAchievements []Achievement `json:"recent_achievements"`
|
|
EquippedCosmetics []Cosmetic `json:"equipped_cosmetics"`
|
|
}
|