readysite / website / internal / content / pages.go
712 B
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
}
← Back