Files
go-utils/entgo/mixin/uuid_id.go
2023-05-18 13:06:55 +08:00

32 lines
541 B
Go

package mixin
import (
"entgo.io/ent"
"entgo.io/ent/schema/field"
"entgo.io/ent/schema/index"
"entgo.io/ent/schema/mixin"
"github.com/google/uuid"
)
var _ ent.Mixin = (*UuidId)(nil)
type UuidId struct{ mixin.Schema }
func (UuidId) Fields() []ent.Field {
return []ent.Field{
field.UUID("id", uuid.UUID{}).
Comment("id").
Default(uuid.New).
Unique().
Immutable().
StructTag(`json:"id,omitempty"`),
}
}
// Indexes of the UuidId.
func (UuidId) Indexes() []ent.Index {
return []ent.Index{
index.Fields("id"),
}
}