add Ennoblement, PlayerHistory, ServerStats, Stats, TribeChange and TribeHistory models | rename current Ennoblement model to LiveEnnoblement
This commit is contained in:
parent
9ae1e58e71
commit
df8e201d51
|
@ -3,11 +3,44 @@ package models
|
|||
import "time"
|
||||
|
||||
type Ennoblement struct {
|
||||
VillageID int `gqlgen:"-" json:"villageID"`
|
||||
Village *Village `gqlgen:"-" json:"village,omitempty"`
|
||||
NewOwnerID int `gqlgen:"-" json:"newOwnerID"`
|
||||
NewOwner *Player `gqlgen:"-" json:"newOwner,omitempty"`
|
||||
OldOwnerID int `gqlgen:"-" json:"oldOwnerID"`
|
||||
OldOwner *Player `gqlgen:"-" json:"oldOwner,omitempty"`
|
||||
EnnobledAt time.Time `json:"ennobledAt" gqlgen:"ennobledAt"`
|
||||
tableName struct{} `pg:"?SERVER.ennoblements,alias:ennoblement"`
|
||||
|
||||
VillageID int `gqlgen:"-" json:"villageID" xml:"villageID"`
|
||||
Village *Village `gqlgen:"-" json:"village,omitempty" xml:"village"`
|
||||
NewOwnerID int `gqlgen:"-" json:"newOwnerID" xml:"newOwnerID"`
|
||||
NewOwner *Player `gqlgen:"-" json:"newOwner,omitempty" xml:"newOwner"`
|
||||
NewOwnerTribeID int `json:"newOwnerTribeID" gqlgen:"newOwnerTribeID" xml:"newOwnerTribeID"`
|
||||
NewOwnerTribe *Tribe `json:"newOwnerTribe,omitempty" gqlgen:"-" xml:"newOwnerTribe"`
|
||||
OldOwnerID int `gqlgen:"-" json:"oldOwnerID" xml:"oldOwnerID"`
|
||||
OldOwner *Player `gqlgen:"-" json:"oldOwner,omitempty" xml:"oldOwner"`
|
||||
OldOwnerTribeID int `json:"oldOwnerTribeID" gqlgen:"oldOwnerTribeID" xml:"oldOwnerTribeID"`
|
||||
OldOwnerTribe *Tribe `json:"oldOwnerTribe,omitempty" gqlgen:"-" xml:"oldOwnerTribe"`
|
||||
EnnobledAt time.Time `pg:"default:now(),use_zero" json:"ennobledAt" gqlgen:"ennobledAt" xml:"ennobledAt"`
|
||||
}
|
||||
|
||||
type EnnoblementFilter struct {
|
||||
tableName struct{} `urlstruct:"ennoblement"`
|
||||
|
||||
VillageID []int `json:"villageID" gqlgen:"villageID" xml:"villageID"`
|
||||
VillageIdNEQ []int `json:"villageIDNEQ" gqlgen:"villageIDNEQ" xml:"villageIDNEQ"`
|
||||
|
||||
NewOwnerID []int `json:"newOwnerID" gqlgen:"newOwnerID" xml:"newOwnerID"`
|
||||
NewOwnerIdNEQ []int `json:"newOwnerIdNEQ" gqlgen:"newOwnerIdNEQ" xml:"newOwnerIdNEQ"`
|
||||
NewOwnerTribeID []int `json:"newOwnerTribeID" gqlgen:"newOwnerTribeID" xml:"newOwnerTribeID"`
|
||||
NewOwnerTribeIdNEQ []int `json:"newOwnerTribeIDNEQ" gqlgen:"newOwnerTribeIDNEQ" xml:"newOwnerTribeIDNEQ"`
|
||||
|
||||
OldOwnerID []int `json:"oldOwnerID" gqlgen:"oldOwnerID" xml:"oldOwnerID"`
|
||||
OldOwnerIdNEQ []int `json:"oldOwnerIdNEQ" gqlgen:"oldOwnerIdNEQ" xml:"oldOwnerIdNEQ"`
|
||||
OldOwnerTribeID []int `json:"oldOwnerTribeID" gqlgen:"oldOwnerTribeID" xml:"oldOwnerTribeID"`
|
||||
OldOwnerTribeIdNEQ []int `json:"oldOwnerTribeIDNEQ" gqlgen:"oldOwnerTribeIDNEQ" xml:"oldOwnerTribeIDNEQ"`
|
||||
|
||||
EnnobledAt time.Time `json:"ennobledAt" gqlgen:"ennobledAt" xml:"ennobledAt"`
|
||||
EnnobledAtGT time.Time `json:"ennobledAtGT" gqlgen:"ennobledAtGT" xml:"ennobledAtGT"`
|
||||
EnnobledAtGTE time.Time `json:"ennobledAtGTE" gqlgen:"ennobledAtGTE" xml:"ennobledAtGTE"`
|
||||
EnnobledAtLT time.Time `json:"ennobledAtLT" gqlgen:"ennobledAtLT" xml:"ennobledAtLT"`
|
||||
EnnobledAtLTE time.Time `json:"ennobledAtLTE" gqlgen:"ennobledAtLTE" xml:"ennobledAtLTE"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package models
|
||||
|
||||
import "time"
|
||||
|
||||
type LiveEnnoblement struct {
|
||||
VillageID int `gqlgen:"-" json:"villageID"`
|
||||
Village *Village `gqlgen:"-" json:"village,omitempty"`
|
||||
NewOwnerID int `gqlgen:"-" json:"newOwnerID"`
|
||||
NewOwner *Player `gqlgen:"-" json:"newOwner,omitempty"`
|
||||
OldOwnerID int `gqlgen:"-" json:"oldOwnerID"`
|
||||
OldOwner *Player `gqlgen:"-" json:"oldOwner,omitempty"`
|
||||
EnnobledAt time.Time `pg:"default:now(),use_zero" json:"ennobledAt" gqlgen:"ennobledAt"`
|
||||
}
|
|
@ -5,7 +5,7 @@ type Player struct {
|
|||
|
||||
ID int `json:"id" pg:",pk" gqlgen:"id"`
|
||||
Name string `json:"name" gqlgen:"name"`
|
||||
TotalVillages int `json:"total_villages" pg:",use_zero" gqlgen:"totalVillages"`
|
||||
TotalVillages int `json:"totalVillages" pg:",use_zero" gqlgen:"totalVillages"`
|
||||
Points int `json:"points" pg:",use_zero" gqlgen:"points"`
|
||||
Rank int `json:"rank" pg:",use_zero" gqlgen:"rank"`
|
||||
Exist *bool `json:"exist" pg:",use_zero" gqlgen:"exist"`
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
package models
|
||||
|
||||
import "time"
|
||||
|
||||
type PlayerHistory struct {
|
||||
tableName struct{} `pg:"?SERVER.player_history,alias:player_history"`
|
||||
|
||||
OpponentsDefeated
|
||||
|
||||
PlayerID int `json:"playerID" gqlgen:"playerID" xml:"playerID"`
|
||||
Player *Player `json:"player" gqlgen:"-" xml:"player"`
|
||||
TotalVillages int `json:"totalVillages" pg:",use_zero" gqlgen:"totalVillages" xml:"totalVillages"`
|
||||
Points int `json:"points" pg:",use_zero" gqlgen:"points" xml:"points"`
|
||||
Rank int `json:"rank" pg:",use_zero" gqlgen:"rank" xml:"rank"`
|
||||
TribeID int `json:"-" pg:",use_zero" gqlgen:"tribeID" xml:"tribeID"`
|
||||
Tribe *Tribe `json:"tribe,omitempty" gqlgen:"-" xml:"tribe"`
|
||||
CreatedAt time.Time `pg:"default:now(),use_zero" json:"createdAt" gqlgen:"createdAt" xml:"createdAt"`
|
||||
}
|
||||
|
||||
type PlayerHistoryFilter struct {
|
||||
tableName struct{} `urlstruct:"player_history"`
|
||||
|
||||
PlayerID []int `json:"playerID" gqlgen:"playerID" xml:"playerID"`
|
||||
PlayerIdNEQ []int `json:"playerIDNEQ" gqlgen:"playerIDNEQ" xml:"playerIDNEQ"`
|
||||
|
||||
CreatedAt time.Time `json:"createdAt" gqlgen:"createdAt" xml:"createdAt"`
|
||||
CreatedAtGT time.Time `json:"createdAtGT" gqlgen:"createdAtGT" xml:"createdAtGT"`
|
||||
CreatedAtGTE time.Time `json:"createdAtGTE" gqlgen:"createdAtGTE" xml:"createdAtGTE"`
|
||||
CreatedAtLT time.Time `json:"createdAtLT" gqlgen:"createdAtLT" xml:"createdAtLT"`
|
||||
CreatedAtLTE time.Time `json:"createdAtLTE" gqlgen:"createdAtLTE" xml:"createdAtLTE"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
}
|
|
@ -59,7 +59,9 @@ type Server struct {
|
|||
LangVersionTag LanguageTag `json:"langVersionTag" gqlgen:"langVersionTag" xml:"langVersionTag"`
|
||||
LangVersion *LangVersion `json:"langVersion,omitempty" gqlgen:"-" xml:"langVersion"`
|
||||
|
||||
DataUpdatedAt time.Time `pg:"default:now(),use_zero" json:"dataUpdatedAt" gqlgen:"dataUpdatedAt" xml:"dataUpdatedAt"`
|
||||
DataUpdatedAt time.Time `pg:"default:now(),use_zero" json:"dataUpdatedAt" gqlgen:"dataUpdatedAt" xml:"dataUpdatedAt"`
|
||||
HistoryUpdatedAt time.Time `pg:"default:now(),use_zero" json:"historyUpdatedAt" gqlgen:"historyUpdatedAt" xml:"historyUpdatedAt"`
|
||||
StatsUpdatedAt time.Time `pg:"default:now(),use_zero" json:"statsUpdatedAt" gqlgen:"statsUpdatedAt" xml:"statsUpdatedAt"`
|
||||
}
|
||||
|
||||
type ServerFilter struct {
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
package models
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
)
|
||||
|
||||
type ServerStats struct {
|
||||
tableName struct{} `pg:"?SERVER.stats,alias:stats"`
|
||||
|
||||
ActivePlayers int `json:"activePlayers" gqlgen:"activePlayers" xml:"activePlayers"`
|
||||
InactivePlayers int `json:"inactivePlayers" gqlgen:"inactivePlayers" xml:"inactivePlayers"`
|
||||
Players int `json:"players" gqlgen:"players" xml:"players"`
|
||||
ActiveTribes int `json:"activeTribes" gqlgen:"activeTribes" xml:"activeTribes"`
|
||||
InactiveTribes int `json:"inactiveTribes" gqlgen:"inactiveTribes" xml:"inactiveTribes"`
|
||||
Tribes int `json:"tribes" gqlgen:"tribes" xml:"tribes"`
|
||||
Villages int `json:"villages" gqlgen:"villages" xml:"villages"`
|
||||
BonusVillages int `json:"bonusVillages" gqlgen:"bonusVillages" xml:"bonusVillages"`
|
||||
BarbarianVillages int `json:"barbarianVillages" gqlgen:"barbarianVillages" xml:"barbarianVillages"`
|
||||
PlayerVillages int `json:"playerVillages" gqlgen:"playerVillages" xml:"playerVillages"`
|
||||
CreatedAt time.Time `pg:"default:now(),use_zero" json:"createdAt" gqlgen:"createdAt" xml:"createdAt"`
|
||||
}
|
||||
|
||||
func (s *ServerStats) BeforeInsert(ctx context.Context) (context.Context, error) {
|
||||
if s.CreatedAt.IsZero() {
|
||||
s.CreatedAt = time.Now()
|
||||
}
|
||||
|
||||
return ctx, nil
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
package models
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Stats struct {
|
||||
tableName struct{} `pg:"stats,alias:stats" json:"tableName" gqlgen:"tableName" xml:"tableName"`
|
||||
|
||||
ActiveServers int `json:"activeServers" gqlgen:"activeServers" xml:"activeServers"`
|
||||
InactiveServers int `json:"inactiveServers" gqlgen:"inactiveServers" xml:"inactiveServers"`
|
||||
Servers int `json:"servers" gqlgen:"servers" xml:"servers"`
|
||||
ServerStats
|
||||
}
|
||||
|
||||
func (s *Stats) BeforeInsert(ctx context.Context) (context.Context, error) {
|
||||
if s.CreatedAt.IsZero() {
|
||||
s.CreatedAt = time.Now()
|
||||
}
|
||||
|
||||
return ctx, nil
|
||||
}
|
||||
|
||||
type StatsFilter struct {
|
||||
tableName struct{} `urlstruct:"stats"`
|
||||
|
||||
CreatedAt time.Time `json:"createdAt" gqlgen:"createdAt" xml:"createdAt"`
|
||||
CreatedAtGT time.Time `json:"createdAtGT" gqlgen:"createdAtGT" xml:"createdAtGT"`
|
||||
CreatedAtGTE time.Time `json:"createdAtGTE" gqlgen:"createdAtGTE" xml:"createdAtGTE"`
|
||||
CreatedAtLT time.Time `json:"createdAtLT" gqlgen:"createdAtLT" xml:"createdAtLT"`
|
||||
CreatedAtLTE time.Time `json:"createdAtLTE" gqlgen:"createdAtLTE" xml:"createdAtLTE"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package models
|
||||
|
||||
import "time"
|
||||
|
||||
type TribeChange struct {
|
||||
ID int `json:"id" gqlgen:"id" xml:"id"`
|
||||
PlayerID int `json:"playerID" gqlgen:"playerID" xml:"playerID"`
|
||||
Player *Player `json:"player,omitempty" gqlgen:"-" xml:"player"`
|
||||
OldTribeID int `json:"oldTribeID" gqlgen:"oldTribeID" xml:"oldTribeID"`
|
||||
OldTribe *Tribe `json:"oldTribe,omitempty" gqlgen:"-" xml:"oldTribe"`
|
||||
NewTribeID int `json:"newTribeID" gqlgen:"newTribeID" xml:"newTribeID"`
|
||||
NewTribe *Tribe `json:"newTribe,omitempty" gqlgen:"-" xml:"newTribe"`
|
||||
CreatedAt time.Time `pg:"default:now(),use_zero" json:"createdAt" gqlgen:"createdAt" xml:"createdAt"`
|
||||
}
|
||||
|
||||
type TribeChangeFilter struct {
|
||||
ID []int `json:"id" gqlgen:"id" xml:"id"`
|
||||
IdNEQ []int `json:"idNEQ" gqlgen:"idNEQ" xml:"idNEQ"`
|
||||
|
||||
OldTribeID []int `json:"oldTribeID" gqlgen:"oldTribeID" xml:"oldTribeID"`
|
||||
OldTribeIdNEQ []int `json:"oldTribeIDNEQ" gqlgen:"oldTribeIDNEQ" xml:"oldTribeIDNEQ"`
|
||||
|
||||
NewTribeID []int `json:"newTribeID" gqlgen:"newTribeID" xml:"newTribeID"`
|
||||
NewTribeIdNEQ []int `json:"newTribeIDNEQ" gqlgen:"newTribeIDNEQ" xml:"newTribeIDNEQ"`
|
||||
|
||||
CreatedAt time.Time `json:"createdAt" gqlgen:"createdAt" xml:"createdAt"`
|
||||
CreatedAtGT time.Time `json:"createdAtGT" gqlgen:"createdAtGT" xml:"createdAtGT"`
|
||||
CreatedAtGTE time.Time `json:"createdAtGTE" gqlgen:"createdAtGTE" xml:"createdAtGTE"`
|
||||
CreatedAtLT time.Time `json:"createdAtLT" gqlgen:"createdAtLT" xml:"createdAtLT"`
|
||||
CreatedAtLTE time.Time `json:"createdAtLTE" gqlgen:"createdAtLTE" xml:"createdAtLTE"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package models
|
||||
|
||||
import "time"
|
||||
|
||||
type TribeHistory struct {
|
||||
tableName struct{} `pg:"?SERVER.tribe_history,alias:tribe_history"`
|
||||
|
||||
OpponentsDefeated
|
||||
|
||||
TribeID int `json:"-" pg:",use_zero" gqlgen:"tribeID" xml:"tribeID"`
|
||||
Tribe *Tribe `json:"tribe,omitempty" gqlgen:"-" xml:"tribe"`
|
||||
TotalMembers int `json:"totalMembers" gqlgen:"totalMembers" pg:",use_zero"`
|
||||
TotalVillages int `json:"totalVillages" gqlgen:"totalVillages" pg:",use_zero"`
|
||||
Points int `json:"points" gqlgen:"points" pg:",use_zero"`
|
||||
AllPoints int `json:"allPoints" gqlgen:"allPoints" pg:",use_zero"`
|
||||
Rank int `json:"rank" gqlgen:"rank" pg:",use_zero"`
|
||||
CreatedAt time.Time `pg:"default:now(),use_zero" json:"createdAt" gqlgen:"createdAt" xml:"createdAt"`
|
||||
}
|
||||
|
||||
type TribeHistoryFilter struct {
|
||||
tableName struct{} `urlstruct:"tribe_history"`
|
||||
|
||||
TribeID []int `json:"tribeID" gqlgen:"tribeID" xml:"tribeID"`
|
||||
TribeIdNEQ []int `json:"tribeIDNEQ" gqlgen:"tribeIDNEQ" xml:"tribeIDNEQ"`
|
||||
|
||||
CreatedAt time.Time `json:"createdAt" gqlgen:"createdAt" xml:"createdAt"`
|
||||
CreatedAtGT time.Time `json:"createdAtGT" gqlgen:"createdAtGT" xml:"createdAtGT"`
|
||||
CreatedAtGTE time.Time `json:"createdAtGTE" gqlgen:"createdAtGTE" xml:"createdAtGTE"`
|
||||
CreatedAtLT time.Time `json:"createdAtLT" gqlgen:"createdAtLT" xml:"createdAtLT"`
|
||||
CreatedAtLTE time.Time `json:"createdAtLTE" gqlgen:"createdAtLTE" xml:"createdAtLTE"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
}
|
Reference in New Issue