package model import ( "time" ) // File represents a file or directory entry in the virtual filesystem. type File struct { ID string `gorm:"primaryKey;type:varchar(36)" json:"id"` UserID string `gorm:"index;type:varchar(36);not null" json:"user_id"` ParentID *string `gorm:"index;type:varchar(36)" json:"parent_id"` Name string `gorm:"type:varchar(255);not null" json:"name"` Size int64 `gorm:"default:0" json:"size"` MimeType string `gorm:"type:varchar(127)" json:"mime_type"` StoragePath string `gorm:"type:varchar(512)" json:"storage_path"` IsDir bool `gorm:"default:false" json:"is_dir"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }