Files
csgowtfd/ent/schema/player.go
2021-10-31 08:40:02 +01:00

47 lines
1.2 KiB
Go

package schema
import (
"entgo.io/ent"
"entgo.io/ent/schema/edge"
"entgo.io/ent/schema/field"
"time"
)
// Player holds the schema definition for the Player entity.
type Player struct {
ent.Schema
}
// Fields of the Player.
func (Player) Fields() []ent.Field {
return []ent.Field{
field.Uint64("id").Unique().Immutable().StructTag(`json:"steamid,string"`),
field.String("name").Optional(),
field.String("avatar").Optional(),
field.String("vanity_url").Optional(),
field.String("vanity_url_real").Optional(),
field.Time("vac_date").Optional(),
field.Int("vac_count").Optional(),
field.Time("game_ban_date").Optional(),
field.Int("game_ban_count").Optional(),
field.Time("steam_updated").Default(func() time.Time {
return time.Now().UTC()
}).StructTag(`json:"-"`),
field.Time("sharecode_updated").Optional().StructTag(`json:"-"`),
field.String("auth_code").Optional().Sensitive(),
field.Time("profile_created").Optional(),
field.String("oldest_sharecode_seen").Optional(),
field.Int("wins").Optional(),
field.Int("looses").Optional(),
field.Int("ties").Optional(),
}
}
// Edges of the Player.
func (Player) Edges() []ent.Edge {
return []ent.Edge{
edge.To("stats", MatchPlayer.Type),
edge.To("matches", Match.Type),
}
}