Files
go-utils/entgo/mixin/time.go
2023-10-25 15:30:26 +08:00

132 lines
3.0 KiB
Go

package mixin
import (
"entgo.io/ent"
"entgo.io/ent/schema/field"
"entgo.io/ent/schema/mixin"
)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var _ ent.Mixin = (*CreatedAt)(nil)
type CreatedAt struct{ mixin.Schema }
func (CreatedAt) Fields() []ent.Field {
return []ent.Field{
// 创建时间
field.Time("created_at").
Comment("创建时间").
Immutable().
Optional().
Nillable(),
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var _ ent.Mixin = (*UpdatedAt)(nil)
type UpdatedAt struct{ mixin.Schema }
func (UpdatedAt) Fields() []ent.Field {
return []ent.Field{
// 更新时间
field.Time("updated_at").
Comment("更新时间").
Optional().
Nillable(),
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var _ ent.Mixin = (*DeletedAt)(nil)
type DeletedAt struct{ mixin.Schema }
func (DeletedAt) Fields() []ent.Field {
return []ent.Field{
// 删除时间
field.Time("deleted_at").
Comment("删除时间").
Optional().
Nillable(),
}
}
var _ ent.Mixin = (*TimeAt)(nil)
type TimeAt struct{ mixin.Schema }
func (TimeAt) Fields() []ent.Field {
var fields []ent.Field
fields = append(fields, CreatedAt{}.Fields()...)
fields = append(fields, UpdatedAt{}.Fields()...)
fields = append(fields, DeletedAt{}.Fields()...)
return fields
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var _ ent.Mixin = (*CreatedTime)(nil)
type CreatedTime struct{ mixin.Schema }
func (CreatedTime) Fields() []ent.Field {
return []ent.Field{
// 创建时间
field.Time("create_time").
Comment("创建时间").
Immutable().
Optional().
Nillable(),
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var _ ent.Mixin = (*UpdatedTime)(nil)
type UpdatedTime struct{ mixin.Schema }
func (UpdatedTime) Fields() []ent.Field {
return []ent.Field{
// 更新时间
field.Time("update_time").
Comment("更新时间").
Optional().
Nillable(),
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var _ ent.Mixin = (*DeletedTime)(nil)
type DeletedTime struct{ mixin.Schema }
func (DeletedTime) Fields() []ent.Field {
return []ent.Field{
// 删除时间
field.Time("delete_time").
Comment("删除时间").
Optional().
Nillable(),
}
}
var _ ent.Mixin = (*Time)(nil)
type Time struct{ mixin.Schema }
func (Time) Fields() []ent.Field {
var fields []ent.Field
fields = append(fields, CreatedTime{}.Fields()...)
fields = append(fields, UpdatedTime{}.Fields()...)
fields = append(fields, DeletedTime{}.Fields()...)
return fields
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////