TinySkin/db/ent/schema/user.go
thehrz 145bb045e9
Some checks failed
CI / deploy (push) Failing after 2m53s
fork from xmdhs/authlib-skin
2025-01-24 16:57:58 +08:00

53 lines
1.2 KiB
Go

package schema
import (
"entgo.io/ent"
"entgo.io/ent/dialect"
"entgo.io/ent/schema/edge"
"entgo.io/ent/schema/field"
"entgo.io/ent/schema/index"
)
// User holds the schema definition for the User entity.
type User struct {
ent.Schema
}
// Fields of the User.
func (User) Fields() []ent.Field {
return []ent.Field{
field.String("email").Unique().SchemaType(map[string]string{
dialect.MySQL: "VARCHAR(30)",
}),
field.String("password").SchemaType(map[string]string{
dialect.MySQL: "VARCHAR(80)",
}),
field.String("salt").SchemaType(map[string]string{
dialect.MySQL: "VARCHAR(50)",
}),
field.String("reg_ip").SchemaType(map[string]string{
dialect.MySQL: "VARCHAR(32)",
}),
// 二进制状态位
// 第一位为 1 则是 admin
field.Int("state"),
field.Int64("reg_time"),
}
}
// Edges of the User.
func (User) Edges() []ent.Edge {
return []ent.Edge{
edge.From("created_texture", Texture.Type).Ref("created_user"),
edge.To("profile", UserProfile.Type).Unique(),
edge.To("token", UserToken.Type).Unique(),
}
}
func (User) Indexes() []ent.Index {
return []ent.Index{
index.Fields("email").Unique(),
index.Fields("reg_ip"),
}
}