Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Levelize ¶ added in v1.56.0
func Levelize(pages []Page)
Levelize ensure page level increments are consistent after a page is inserted or removed.
Valid: 1, 2, 3, 4, 4, 4, 2, 1 Invalid: 1, 2, 4, 4, 2, 1 (note the jump from 2 --> 4)
Rules: 1. levels can increase by 1 only (e.g. from 1 to 2 to 3 to 4) 2. levels can decrease by any amount (e.g. drop from 4 to 1)
Types ¶
type BulkRequest ¶ added in v1.56.0
type BulkRequest struct { ID string `json:"id"` Page Page `json:"page"` Meta Meta `json:"meta"` Pending []PendingPage `json:"pending"` }
BulkRequest details page, it's meta, pending page changes. Used to bulk load data by GUI so as to reduce network requests.
type LevelRequest ¶ added in v1.55.0
LevelRequest details a page ID and level.
type Meta ¶
type Meta struct { ID uint64 `json:"id"` Created time.Time `json:"created"` Revised time.Time `json:"revised"` OrgID string `json:"orgId"` UserID string `json:"userId"` DocumentID string `json:"documentId"` PageID string `json:"pageId"` RawBody string `json:"rawBody"` // a blob of data Config string `json:"config"` // JSON based custom config for this type ExternalSource bool `json:"externalSource"` // true indicates data sourced externally }
Meta holds raw page data that is used to render the actual page data.
type Page ¶
type Page struct { model.BaseEntity OrgID string `json:"orgId"` DocumentID string `json:"documentId"` UserID string `json:"userId"` ContentType string `json:"contentType"` PageType string `json:"pageType"` BlockID string `json:"blockId"` Level uint64 `json:"level"` Sequence float64 `json:"sequence"` Numbering string `json:"numbering"` Title string `json:"title"` Body string `json:"body"` Revisions uint64 `json:"revisions"` Status workflow.ChangeStatus `json:"status"` RelativeID string `json:"relativeId"` // links page to pending page edits }
Page represents a section within a document.
func (*Page) IsSectionType ¶
IsSectionType tells us that page is "words"
type PendingPage ¶ added in v1.56.0
type PendingPage struct { Page Page `json:"page"` Meta Meta `json:"meta"` Owner string `json:"owner"` }
PendingPage details page that is yet to be published
type Revision ¶
type Revision struct { model.BaseEntity OrgID string `json:"orgId"` DocumentID string `json:"documentId"` PageID string `json:"pageId"` OwnerID string `json:"ownerId"` UserID string `json:"userId"` ContentType string `json:"contentType"` PageType string `json:"pageType"` Title string `json:"title"` Body string `json:"body"` RawBody string `json:"rawBody"` Config string `json:"config"` Email string `json:"email"` Firstname string `json:"firstname"` Lastname string `json:"lastname"` Initials string `json:"initials"` Revisions int `json:"revisions"` }
Revision holds the previous version of a Page.
type SequenceRequest ¶ added in v1.55.0
SequenceRequest details a page ID and its sequence within the document.