Files
seadoc/models/version.go
Vladimir V Maksimov 00b12cdf7d upd store
2025-11-06 16:50:12 +03:00

29 lines
696 B
Go

package models
import (
"encoding/json"
"time"
"github.com/google/uuid"
)
// Version — конкретная версия документа
type Version struct {
ID uuid.UUID `gorm:"type:char(36);primaryKey"`
DocumentID uuid.UUID `gorm:"type:char(36);index"`
ParentID *uuid.UUID `gorm:"type:char(36);"`
IsSnapshot bool
Patch json.RawMessage `gorm:"type:json"` // JSON Patch или nil, если Snapshot
Snapshot json.RawMessage `gorm:"type:json"` // Полный JSON, если IsSnapshot = true
CreatedAt time.Time
}
func (s *Version) TableName() (res string) {
if SchemeName != "" {
res = SchemeName + ".version"
} else {
res = "version"
}
return
}