Files
go_oxspeak_server/models/category.go
2025-11-17 01:06:03 +01:00

27 lines
671 B
Go

package models
import (
"time"
"github.com/google/uuid"
"gorm.io/gorm"
)
type Category struct {
ID uuid.UUID `gorm:"primaryKey" json:"id"`
ServerID uuid.UUID `gorm:"index;not null" json:"server_id"`
Name string `gorm:"not null" json:"name"`
CreatedAt time.Time `gorm:"autoCreateTime" json:"created_at"`
UpdatedAt time.Time `gorm:"autoUpdateTime" json:"updated_at"`
// Relation optionnelle vers le serveur
Server *Server `gorm:"foreignKey:ServerID;constraint:OnUpdate:CASCADE,OnDelete:CASCADE;" json:"server,omitempty"`
}
func (s *Category) BeforeCreate(tx *gorm.DB) (err error) {
if s.ID == uuid.Nil {
s.ID = uuid.New()
}
return nil
}