pages.go
package content
import "github.com/readysite/readysite/website/models"
// SavePageContent creates a new content version for a page.
// Status defaults to "draft" if not provided.
func SavePageContent(page *models.Page, title, description, html, userID string, status ...string) (*models.PageContent, error) {
contentStatus := models.StatusDraft
if len(status) > 0 && status[0] != "" {
contentStatus = status[0]
}
content := &models.PageContent{
PageID: page.ID,
Title: title,
Description: description,
HTML: html,
CreatedBy: userID,
Status: contentStatus,
}
_, err := models.PageContents.Insert(content)
if err != nil {
return nil, err
}
return content, nil
}