package api import "time" // API request/response models type ContentItem struct { ID string `json:"id"` SiteID string `json:"site_id"` Value string `json:"value"` Type string `json:"type"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` LastEditedBy string `json:"last_edited_by"` } type ContentVersion struct { VersionID int64 `json:"version_id"` ContentID string `json:"content_id"` SiteID string `json:"site_id"` Value string `json:"value"` Type string `json:"type"` CreatedAt time.Time `json:"created_at"` CreatedBy string `json:"created_by"` } type ContentResponse struct { Content []ContentItem `json:"content"` } type ContentVersionsResponse struct { Versions []ContentVersion `json:"versions"` } // Element context for backend ID generation type ElementContext struct { Tag string `json:"tag"` Classes []string `json:"classes"` OriginalContent string `json:"original_content"` ParentContext string `json:"parent_context"` Purpose string `json:"purpose"` } // Request models type CreateContentRequest struct { HTMLMarkup string `json:"html_markup"` // HTML markup of the element FilePath string `json:"file_path"` // File path for consistent ID generation Value string `json:"value"` // Content value Type string `json:"type"` // Content type SiteID string `json:"site_id,omitempty"` // Site identifier CreatedBy string `json:"created_by,omitempty"` // User who created the content } type RollbackContentRequest struct { VersionID int64 `json:"version_id"` RolledBackBy string `json:"rolled_back_by,omitempty"` }