You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

55 lines
934 B

package comment_count
import (
"time"
"github.com/TremblingV5/DouTok/applications/comment/infra/model"
)
type Entity struct {
Id int64
Number int64
CreatedAt time.Time
UpdatedAt time.Time
}
func New(options ...Option) *Entity {
e := &Entity{}
for _, option := range options {
option(e)
}
return e
}
func TransformFromModel(model *model.CommentCount) *Entity {
return &Entity{
Id: model.Id,
Number: model.Number,
CreatedAt: model.CreatedAt,
UpdatedAt: model.UpdatedAt,
}
}
func (c *Entity) ToModel() *model.CommentCount {
return &model.CommentCount{
Id: c.Id,
Number: c.Number,
CreatedAt: c.CreatedAt,
UpdatedAt: c.UpdatedAt,
}
}
func (c *Entity) Check(options ...EntityCheckOption) error {
for _, option := range options {
if err := option(c); err != nil {
return err
}
}
return nil
}
func (c *Entity) UpdateNumber(number int64) {
c.Number = number
}