Files
OpsMastery.v5/internal/models/chatModel.go
2026-07-12 20:26:16 -04:00

34 lines
673 B
Go

package models
import (
"time"
"gorm.io/gorm"
)
type Chat struct {
gorm.Model
Name string
TicketID *uint
Ticket *Ticket `gorm:"constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"`
IsPrivate bool `gorm:"default:false"`
Users []User `gorm:"many2many:chat_users;constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"`
Messages []ChatMessage `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"`
}
type ChatMessage struct {
gorm.Model
ChatID uint
Chat Chat `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"`
SentAt time.Time
SenderID uint
Sender User `gorm:"constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"`
Content string `gorm:"not null"`
}