82 lines
2.3 KiB
Go
82 lines
2.3 KiB
Go
package schema
|
|
|
|
import (
|
|
"entgo.io/ent"
|
|
"entgo.io/ent/schema/edge"
|
|
"entgo.io/ent/schema/field"
|
|
)
|
|
|
|
// Stats holds the schema definition for the Stats entity.
|
|
type Stats struct {
|
|
ent.Schema
|
|
}
|
|
|
|
// Fields of the Stats.
|
|
func (Stats) Fields() []ent.Field {
|
|
return []ent.Field{
|
|
field.Int("team_id"),
|
|
field.Int("kills"),
|
|
field.Int("deaths"),
|
|
field.Int("assists"),
|
|
field.Int("headshot"),
|
|
field.Int("mvp"),
|
|
field.Int("score"),
|
|
field.JSON("extended", struct {
|
|
MultiKills struct {
|
|
Duo int `json:"duo,omitempty"`
|
|
Triple int `json:"triple,omitempty"`
|
|
Quad int `json:"quad,omitempty"`
|
|
Pent int `json:"pent,omitempty"`
|
|
} `json:"multi_kills,omitempty"`
|
|
Dmg struct {
|
|
Enemy int `json:"enemy,omitempty"`
|
|
Team int `json:"team,omitempty"`
|
|
UD struct {
|
|
HE int `json:"he,omitempty"`
|
|
Flames int `json:"flames,omitempty"`
|
|
Flash int `json:"flash,omitempty"`
|
|
Decoy int `json:"decoy,omitempty"`
|
|
Smoke int `json:"smoke,omitempty"`
|
|
} `json:"ud,omitempty"`
|
|
HitGroup struct {
|
|
Head int `json:"head,omitempty"`
|
|
Chest int `json:"chest,omitempty"`
|
|
Stomach int `json:"stomach,omitempty"`
|
|
LeftArm int `json:"left_arm,omitempty"`
|
|
RightArm int `json:"right_arm,omitempty"`
|
|
LeftLeg int `json:"left_leg,omitempty"`
|
|
RightLeg int `json:"right_leg,omitempty"`
|
|
Gear int `json:"gear,omitempty"`
|
|
} `json:"hit_group,omitempty"`
|
|
} `json:"dmg,omitempty"`
|
|
Crosshair string `json:"crosshair,omitempty"`
|
|
Color int `json:"color,omitempty"`
|
|
KAST int `json:"kast,omitempty"`
|
|
Rank struct {
|
|
Old int `json:"old,omitempty"`
|
|
New int `json:"new,omitempty"`
|
|
} `json:"rank,omitempty"`
|
|
Flash struct {
|
|
Duration struct {
|
|
Self float32 `json:"self,omitempty"`
|
|
Team float32 `json:"team,omitempty"`
|
|
Enemy float32 `json:"enemy,omitempty"`
|
|
} `json:"duration,omitempty"`
|
|
Total struct {
|
|
Team int `json:"team,omitempty"`
|
|
Enemy int `json:"enemy,omitempty"`
|
|
Self int `json:"self,omitempty"`
|
|
} `json:"total,omitempty"`
|
|
} `json:"flash,omitempty"`
|
|
}{}).Optional(),
|
|
}
|
|
}
|
|
|
|
// Edges of the Stats.
|
|
func (Stats) Edges() []ent.Edge {
|
|
return []ent.Edge{
|
|
edge.From("matches", Match.Type).Ref("stats").Unique(),
|
|
edge.From("players", Player.Type).Ref("stats").Unique(),
|
|
}
|
|
}
|