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"`
SectionID 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"`
Type string `json:"pageType"`
TemplateID string `json:"blockId"`
Level uint64 `json:"level"`
Sequence float64 `json:"sequence"`
Numbering string `json:"numbering"`
Name 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"`
SectionID string `json:"pageId"`
OwnerID string `json:"ownerId"`
UserID string `json:"userId"`
ContentType string `json:"contentType"`
Type string `json:"pageType"`
Name 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.