package entity import ( "time" ) type ChatScheduleFiles struct { ID uint `json:"id" gorm:"primaryKey;type:int4;autoIncrement"` ChatScheduleID uint `json:"chat_schedule_id" gorm:"type:int4;not null;index"` FileName string `json:"file_name" gorm:"type:varchar(255);not null"` OriginalName string `json:"original_name" gorm:"type:varchar(255);not null"` FilePath string `json:"file_path" gorm:"type:varchar(500);not null"` FileSize int64 `json:"file_size" gorm:"type:int8"` MimeType string `json:"mime_type" gorm:"type:varchar(100)"` FileType string `json:"file_type" gorm:"type:varchar(20);not null;check:file_type IN ('article', 'journal', 'video', 'audio', 'document', 'other')"` Description string `json:"description" gorm:"type:text"` IsRequired bool `json:"is_required" gorm:"default:false"` CreatedAt time.Time `json:"created_at" gorm:"default:now()"` UpdatedAt time.Time `json:"updated_at" gorm:"default:now()"` // Relationships ChatSchedule *ChatSchedules `json:"chat_schedule" gorm:"foreignKey:ChatScheduleID;references:ID"` }