otter-space-sdk/pkg/models/orm.go
2024-06-23 22:35:46 +02:00

35 lines
495 B
Go

package models
import (
gonanoid "github.com/matoous/go-nanoid/v2"
"gorm.io/gorm"
"time"
)
type ID interface {
AnthroveUserID
AnthroveSourceID
AnthrovePostID
}
type BaseModel struct {
ID string `gorm:"primaryKey"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
}
func (base *BaseModel) BeforeCreate(db *gorm.DB) error {
if base.ID == "" {
id, err := gonanoid.New(25)
if err != nil {
return err
}
base.ID = id
}
return nil
}