diff --git a/models/document.go b/models/document.go index 0bd0f67..d6cf474 100644 --- a/models/document.go +++ b/models/document.go @@ -11,11 +11,11 @@ import ( // @Description Сам по себе не содержит данных (они находятся в версиях и снапшотах). // swagger:model Document type Document struct { - ID uuid.UUID `json:"id" gorm:"type:char(36);primaryKey" example:"550e8400-e29b-41d4-a716-446655440000"` + ID uuid.UUID `json:"id" gorm:"type:uuid;default:gen_random_uuid();primaryKey" example:"550e8400-e29b-41d4-a716-446655440000"` Name string `json:"name" example:"My Document"` CreatedAt time.Time `json:"created_at" example:"2025-01-02T15:04:05Z"` UpdatedAt time.Time `json:"updated_at" example:"2025-01-02T15:04:05Z"` - LatestVersion uuid.UUID `json:"latest_version" gorm:"type:char(36);" example:"c3e474u0-e29b-41d4-a716-446655440000"` + LatestVersion uuid.UUID `json:"latest_version" gorm:"type:uuid;" example:"c3e474u0-e29b-41d4-a716-446655440000"` } func (s *Document) TableName() (res string) { diff --git a/models/version.go b/models/version.go index ce8a817..8ebaf3b 100644 --- a/models/version.go +++ b/models/version.go @@ -13,10 +13,10 @@ import ( // @Description Если IsSnapshot=false — Patch содержит JSON Patch относительно предыдущей версии. // swagger:model Version type Version struct { - ID uuid.UUID `json:"id" gorm:"type:char(36);primaryKey" example:"550e8400-e29b-41d4-a716-446655440001"` - DocumentID uuid.UUID `json:"document_id" gorm:"type:char(36);index" example:"550e8400-e29b-41d4-a716-446655440000"` - Document Document `json:"-" gorm:"constraint:OnDelete:CASCADE;"` - ParentID *uuid.UUID `json:"parent_id,omitempty" gorm:"type:char(36);" example:"null"` + ID uuid.UUID `json:"id" gorm:"type:uuid;default:gen_random_uuid();primaryKey" example:"550e8400-e29b-41d4-a716-446655440000"` + DocumentID uuid.UUID `json:"document_id" gorm:"type:uuid;index" example:"550e8400-e29b-41d4-a716-446655440000"` + Document *Document `json:"-" gorm:"foreignKey:DocumentID;references:ID;constraint:OnDelete:CASCADE,OnUpdate:CASCADE;"` + ParentID *uuid.UUID `json:"parent_id,omitempty" gorm:"type:uuid;" example:"null"` IsSnapshot bool `json:"is_snapshot" example:"false"` // JSON Patch или nil, если Snapshot