Documentation
¶
Index ¶
- Constants
- Variables
- func BoolPtr(b bool) *bool
- func Float64Ptr(f float64) *float64
- func IntPtr(i int) *int
- func StringPtr(s string) *string
- func TimePtr(t time.Time) *time.Time
- type APIError
- type Annotations
- type AudioBlock
- type BaseBlock
- func (b BaseBlock) Archived() bool
- func (b BaseBlock) CreatedBy() BlockUser
- func (b BaseBlock) CreatedTime() time.Time
- func (b BaseBlock) HasChildren() bool
- func (b BaseBlock) ID() string
- func (b BaseBlock) LastEditedBy() BlockUser
- func (b BaseBlock) LastEditedTime() time.Time
- func (b BaseBlock) Parent() Parent
- type BaseUser
- type Block
- type BlockChildrenResponse
- type BlockDTO
- type BlockType
- type BlockUser
- type BookmarkBlock
- type Bot
- type BotOwner
- type BotOwnerType
- type BreadcrumbBlock
- type BulletedListItemBlock
- type CalloutBlock
- type CheckboxDatabaseQueryFilter
- type ChildDatabaseBlock
- type ChildPageBlock
- type Client
- func (c *Client) AppendBlockChildren(ctx context.Context, blockID string, children []Block) (result BlockChildrenResponse, err error)
- func (c *Client) CreateComment(ctx context.Context, params CreateCommentParams) (comment Comment, err error)
- func (c *Client) CreateDatabase(ctx context.Context, params CreateDatabaseParams) (db Database, err error)
- func (c *Client) CreatePage(ctx context.Context, params CreatePageParams) (page Page, err error)
- func (c *Client) DeleteBlock(ctx context.Context, blockID string) (Block, error)
- func (c *Client) FindBlockByID(ctx context.Context, blockID string) (Block, error)
- func (c *Client) FindBlockChildrenByID(ctx context.Context, blockID string, query *PaginationQuery) (result BlockChildrenResponse, err error)
- func (c *Client) FindCommentsByBlockID(ctx context.Context, query FindCommentsByBlockIDQuery) (result FindCommentsResponse, err error)
- func (c *Client) FindCurrentUser(ctx context.Context) (user User, err error)
- func (c *Client) FindDatabaseByID(ctx context.Context, id string) (db Database, err error)
- func (c *Client) FindPageByID(ctx context.Context, id string) (page Page, err error)
- func (c *Client) FindPagePropertyByID(ctx context.Context, pageID, propID string, query *PaginationQuery) (result PagePropResponse, err error)
- func (c *Client) FindUserByID(ctx context.Context, id string) (user User, err error)
- func (c *Client) ListUsers(ctx context.Context, query *PaginationQuery) (result ListUsersResponse, err error)
- func (c *Client) QueryDatabase(ctx context.Context, id string, query *DatabaseQuery) (result DatabaseQueryResponse, err error)
- func (c *Client) Search(ctx context.Context, opts *SearchOpts) (result SearchResponse, err error)
- func (c *Client) UpdateBlock(ctx context.Context, blockID string, block Block) (Block, error)
- func (c *Client) UpdateDatabase(ctx context.Context, databaseID string, params UpdateDatabaseParams) (updatedDB Database, err error)
- func (c *Client) UpdatePage(ctx context.Context, pageID string, params UpdatePageParams) (page Page, err error)
- type ClientOption
- type CodeBlock
- type Color
- type ColumnBlock
- type ColumnListBlock
- type Comment
- type Cover
- type CreateCommentParams
- type CreateDatabaseParams
- type CreatePageParams
- type Database
- type DatabasePageProperties
- type DatabasePageProperty
- type DatabaseProperties
- type DatabaseProperty
- type DatabasePropertyType
- type DatabaseQuery
- type DatabaseQueryFilter
- type DatabaseQueryPropertyFilter
- type DatabaseQueryResponse
- type DatabaseQuerySort
- type Date
- type DatePropertyFilter
- type DateTime
- type DividerBlock
- type DualPropertyRelation
- type EmbedBlock
- type EmptyMetadata
- type Equation
- type EquationBlock
- type File
- type FileBlock
- type FileExternal
- type FileFile
- type FileType
- type FilesDatabaseQueryFilter
- type FindCommentsByBlockIDQuery
- type FindCommentsResponse
- type FormulaDatabaseQueryFilter
- type FormulaMetadata
- type FormulaResult
- type FormulaResultType
- type Heading1Block
- type Heading2Block
- type Heading3Block
- type ID
- type Icon
- type IconType
- type ImageBlock
- type Link
- type LinkPreview
- type LinkPreviewBlock
- type LinkToPageBlock
- type LinkToPageType
- type ListUsersResponse
- type Mention
- type MentionType
- type MultiSelectDatabaseQueryFilter
- type NumberDatabaseQueryFilter
- type NumberFormat
- type NumberMetadata
- type NumberedListItemBlock
- type PDFBlock
- type Page
- type PagePropItem
- type PagePropListItem
- type PagePropResponse
- type PageProperties
- type PageTitle
- type PaginationQuery
- type ParagraphBlock
- type Parent
- type ParentType
- type People
- type PeopleDatabaseQueryFilter
- type Person
- type QuoteBlock
- type Relation
- type RelationDatabaseQueryFilter
- type RelationMetadata
- type RelationType
- type RichText
- type RichTextType
- type RollupDatabaseQueryFilter
- type RollupFunction
- type RollupMetadata
- type RollupResult
- type RollupResultType
- type SearchFilter
- type SearchOpts
- type SearchResponse
- type SearchResults
- type SearchSort
- type SearchSortTimestamp
- type SelectDatabaseQueryFilter
- type SelectMetadata
- type SelectOptions
- type SortDirection
- type SortTimestamp
- type StatusDatabaseQueryFilter
- type StatusGroup
- type StatusMetadata
- type SyncedBlock
- type SyncedFrom
- type SyncedFromType
- type TableBlock
- type TableOfContentsBlock
- type TableRowBlock
- type TemplateBlock
- type TemplateMention
- type TemplateMentionDateType
- type TemplateMentionType
- type TemplateMentionUserType
- type Text
- type TextPropertyFilter
- type Timestamp
- type ToDoBlock
- type ToggleBlock
- type UpdateDatabaseParams
- type UpdatePageParams
- type User
- type UserType
- type VideoBlock
Constants ¶
const ( RollupFunctionCountAll RollupFunction = "count_all" RollupFunctionCountValues RollupFunction = "count_values" RollupFunctionCountUniqueValues RollupFunction = "count_unique_values" RollupFunctionCountEmpty RollupFunction = "count_empty" RollupFunctionCountNotEmpty RollupFunction = "count_not_empty" RollupFunctionPercentEmpty RollupFunction = "percent_empty" RollupFunctionPercentNotEmpty RollupFunction = "percent_not_empty" RollupFunctionSum RollupFunction = "sum" RollupFunctionAverage RollupFunction = "average" RollupFunctionMedian RollupFunction = "median" RollupFunctionMin RollupFunction = "min" RollupFunctionMax RollupFunction = "max" RollupFunctionRange RollupFunction = "range" RollupFunctionShowOriginal RollupFunction = "show_original" RelationTypeSingleProperty RelationType = "single_property" RelationTypeDualProperty RelationType = "dual_property" )
const ( TimestampCreatedTime = "created_time" TimestampLastEditedTime = "last_edited_time" )
const ( // Database property type enums. DBPropTypeTitle DatabasePropertyType = "title" DBPropTypeRichText DatabasePropertyType = "rich_text" DBPropTypeNumber DatabasePropertyType = "number" DBPropTypeSelect DatabasePropertyType = "select" DBPropTypeMultiSelect DatabasePropertyType = "multi_select" DBPropTypeDate DatabasePropertyType = "date" DBPropTypePeople DatabasePropertyType = "people" DBPropTypeFiles DatabasePropertyType = "files" DBPropTypeCheckbox DatabasePropertyType = "checkbox" DBPropTypeURL DatabasePropertyType = "url" DBPropTypeEmail DatabasePropertyType = "email" DBPropTypePhoneNumber DatabasePropertyType = "phone_number" DBPropTypeStatus DatabasePropertyType = "status" DBPropTypeFormula DatabasePropertyType = "formula" DBPropTypeRelation DatabasePropertyType = "relation" DBPropTypeRollup DatabasePropertyType = "rollup" DBPropTypeCreatedTime DatabasePropertyType = "created_time" DBPropTypeCreatedBy DatabasePropertyType = "created_by" DBPropTypeLastEditedTime DatabasePropertyType = "last_edited_time" DBPropTypeLastEditedBy DatabasePropertyType = "last_edited_by" // Used for paginated property values. // See: https://developers.notion.com/reference/property-item-object#paginated-property-values DBPropTypePropertyItem DatabasePropertyType = "property_item" // Number format enums. NumberFormatNumber NumberFormat = "number" NumberFormatNumberWithCommas NumberFormat = "number_with_commas" NumberFormatPercent NumberFormat = "percent" NumberFormatDollar NumberFormat = "dollar" NumberFormatEuro NumberFormat = "euro" NumberFormatPound NumberFormat = "pound" NumberFormatPonud NumberFormat = "yen" NumberFormatRuble NumberFormat = "ruble" NumberFormatRupee NumberFormat = "rupee" NumberFormatWon NumberFormat = "won" NumberFormatYuan NumberFormat = "yuan" NumberFormatHongKongDollar NumberFormat = "hong_kong_dollar" NumberFormatNewZealandDollar NumberFormat = "new_zealand_dollar" NumberFormatKrona NumberFormat = "krona" NumberFormatNorwegianKrone NumberFormat = "norwegian_krone" NumberFormatMexicanPeso NumberFormat = "mexican_peso" NumberFormatRand NumberFormat = "rand" NumberFormatNewTaiwanDollar NumberFormat = "new_taiwan_dollar" NumberFormatDanishKrone NumberFormat = "danish_krone" NumberFormatZloty NumberFormat = "zloty" NumberFormatBaht NumberFormat = "baht" NumberFormatForint NumberFormat = "forint" NumberFormatKoruna NumberFormat = "koruna" NumberFormatShekel NumberFormat = "shekel" NumberFormatChileanPeso NumberFormat = "chilean_peso" NumberFormatPhilippinePeso NumberFormat = "philippine_peso" NumberFormatDirham NumberFormat = "dirham" NumberFormatColombianPeso NumberFormat = "colombian_peso" NumberFormatRiyal NumberFormat = "riyal" NumberFormatRinggit NumberFormat = "ringgit" NumberFormatLeu NumberFormat = "leu" // Formula result type enums. FormulaResultTypeString FormulaResultType = "string" FormulaResultTypeNumber FormulaResultType = "number" FormulaResultTypeBoolean FormulaResultType = "boolean" FormulaResultTypeDate FormulaResultType = "date" // Rollup result type enums. RollupResultTypeNumber RollupResultType = "number" RollupResultTypeDate RollupResultType = "date" RollupResultTypeArray RollupResultType = "array" RollupResultTypeUnsupported RollupResultType = "unsupported" RollupResultTypeIncomplete RollupResultType = "incomplete" // Sort timestamp enums. SortTimeStampCreatedTime SortTimestamp = "created_time" SortTimeStampLastEditedTime SortTimestamp = "last_edited_time" // Sort direction enums. SortDirAsc SortDirection = "ascending" SortDirDesc SortDirection = "descending" )
const ( MentionTypeUser MentionType = "user" MentionTypePage MentionType = "page" MentionTypeDatabase MentionType = "database" MentionTypeDate MentionType = "date" MentionTypeLinkPreview MentionType = "link_preview" MentionTypeTemplateMention MentionType = "template_mention" TemplateMentionTypeDate TemplateMentionType = "template_mention_date" TemplateMentionTypeUser TemplateMentionType = "template_mention_user" TemplateMentionDateTypeToday TemplateMentionDateType = "today" TemplateMentionDateTypeNow TemplateMentionDateType = "now" TemplateMentionUserTypeMe TemplateMentionUserType = "me" )
const DateTimeFormat = "2006-01-02T15:04:05.999Z07:00"
DateTimeFormat is used when calling time.Parse, using RFC3339 with microsecond precision, which is what the Notion API returns in JSON response data.
Variables ¶
var ( ErrInvalidJSON = errors.New("notion: request body could not be decoded as JSON") ErrInvalidRequestURL = errors.New("notion: request URL is not valid") ErrInvalidRequest = errors.New("notion: request is not supported") ErrValidation = errors.New("notion: request body does not match the schema for the expected parameters") ErrRestrictedResource = errors.New("notion: client doesn't have permission to perform this operation") ErrObjectNotFound = errors.New("notion: the resource does not exist") ErrConflict = errors.New("notion: the transaction could not be completed, potentially due to a data collision") ErrRateLimited = errors.New("notion: this request exceeds the number of requests allowed") ErrInternalServer = errors.New("notion: an unexpected error occurred") )
Functions ¶
func Float64Ptr ¶
Float64Ptr returns the pointer of a float64 value.
Types ¶
type APIError ¶
type Annotations ¶
type AudioBlock ¶
type AudioBlock struct { Type FileType `json:"type"` File *FileFile `json:"file,omitempty"` External *FileExternal `json:"external,omitempty"` Caption []RichText `json:"caption,omitempty"` }
type BaseBlock ¶ added in v0.9.2
type BaseBlock struct { BID string `json:"id,omitempty"` BParent Parent `json:"parent,omitempty"` BCreatedTime time.Time `json:"created_time,omitempty"` BCreatedBy BlockUser `json:"created_by,omitempty"` BLastEditedTime time.Time `json:"last_edited_time,omitempty"` BLastEditedBy BlockUser `json:"last_edited_by,omitempty"` BHasChildren bool `json:"has_children,omitempty"` BArchived bool `json:"archived,omitempty"` }
func (BaseBlock) CreatedTime ¶ added in v0.9.2
func (BaseBlock) HasChildren ¶ added in v0.9.2
func (BaseBlock) LastEditedBy ¶ added in v0.9.2
func (BaseBlock) LastEditedTime ¶ added in v0.9.2
type BaseUser ¶
type BaseUser struct {
ID string `json:"id"`
}
BaseUser contains the fields that are always returned for user objects. See: https://developers.notion.com/reference/user#where-user-objects-appear-in-the-api
type Block ¶
type Block interface { ID() string Parent() Parent CreatedTime() time.Time CreatedBy() BlockUser LastEditedBy() BlockUser LastEditedTime() time.Time HasChildren() bool Archived() bool }
Block represents content on the Notion platform. See: https://developers.notion.com/reference/block
type BlockChildrenResponse ¶
BlockChildrenResponse contains results (block children) and pagination data returned from a find request.
func (*BlockChildrenResponse) UnmarshalJSON ¶
func (resp *BlockChildrenResponse) UnmarshalJSON(b []byte) error
type BlockDTO ¶ added in v0.9.3
type BlockDTO struct { BaseBlock Type BlockType `json:"type,omitempty"` Paragraph *ParagraphBlock `json:"paragraph,omitempty"` Heading1 *Heading1Block `json:"heading_1,omitempty"` Heading2 *Heading2Block `json:"heading_2,omitempty"` Heading3 *Heading3Block `json:"heading_3,omitempty"` BulletedListItem *BulletedListItemBlock `json:"bulleted_list_item,omitempty"` NumberedListItem *NumberedListItemBlock `json:"numbered_list_item,omitempty"` ToDo *ToDoBlock `json:"to_do,omitempty"` Toggle *ToggleBlock `json:"toggle,omitempty"` ChildPage *ChildPageBlock `json:"child_page,omitempty"` ChildDatabase *ChildDatabaseBlock `json:"child_database,omitempty"` Callout *CalloutBlock `json:"callout,omitempty"` Quote *QuoteBlock `json:"quote,omitempty"` Code *CodeBlock `json:"code,omitempty"` Embed *EmbedBlock `json:"embed,omitempty"` Image *ImageBlock `json:"image,omitempty"` Audio *AudioBlock `json:"audio,omitempty"` Video *VideoBlock `json:"video,omitempty"` File *FileBlock `json:"file,omitempty"` PDF *PDFBlock `json:"pdf,omitempty"` Bookmark *BookmarkBlock `json:"bookmark,omitempty"` Equation *EquationBlock `json:"equation,omitempty"` Divider *DividerBlock `json:"divider,omitempty"` TableOfContents *TableOfContentsBlock `json:"table_of_contents,omitempty"` Breadcrumb *BreadcrumbBlock `json:"breadcrumb,omitempty"` ColumnList *ColumnListBlock `json:"column_list,omitempty"` Column *ColumnBlock `json:"column,omitempty"` Table *TableBlock `json:"table,omitempty"` TableRow *TableRowBlock `json:"table_row,omitempty"` LinkPreview *LinkPreviewBlock `json:"link_preview,omitempty"` LinkToPage *LinkToPageBlock `json:"link_to_page,omitempty"` SyncedBlock *SyncedBlock `json:"synced_block,omitempty"` Template *TemplateBlock `json:"template,omitempty"` }
type BlockType ¶
type BlockType string
const ( BlockTypeParagraph BlockType = "paragraph" BlockTypeHeading1 BlockType = "heading_1" BlockTypeHeading2 BlockType = "heading_2" BlockTypeHeading3 BlockType = "heading_3" BlockTypeBulletedListItem BlockType = "bulleted_list_item" BlockTypeNumberedListItem BlockType = "numbered_list_item" BlockTypeToDo BlockType = "to_do" BlockTypeToggle BlockType = "toggle" BlockTypeChildPage BlockType = "child_page" BlockTypeChildDatabase BlockType = "child_database" BlockTypeCallout BlockType = "callout" BlockTypeQuote BlockType = "quote" BlockTypeCode BlockType = "code" BlockTypeEmbed BlockType = "embed" BlockTypeImage BlockType = "image" BlockTypeAudio BlockType = "audio" BlockTypeVideo BlockType = "video" BlockTypeFile BlockType = "file" BlockTypePDF BlockType = "pdf" BlockTypeBookmark BlockType = "bookmark" BlockTypeEquation BlockType = "equation" BlockTypeDivider BlockType = "divider" BlockTypeTableOfContents BlockType = "table_of_contents" BlockTypeBreadCrumb BlockType = "breadcrumb" BlockTypeColumnList BlockType = "column_list" BlockTypeColumn BlockType = "column" BlockTypeTable BlockType = "table" BlockTypeTableRow BlockType = "table_row" BlockTypeLinkPreview BlockType = "link_preview" BlockTypeLinkToPage BlockType = "link_to_page" BlockTypeSyncedBlock BlockType = "synced_block" BlockTypeTemplate BlockType = "template" BlockTypeUnsupported BlockType = "unsupported" )
type BookmarkBlock ¶
type BotOwner ¶
type BotOwner struct { Type BotOwnerType `json:"type"` Workspace bool `json:"workspace"` User *User `json:"user"` }
type BotOwnerType ¶
type BotOwnerType string
const ( BotOwnerTypeWorkspace BotOwnerType = "workspace" BotOwnerTypeUser BotOwnerType = "user" )
type BreadcrumbBlock ¶
type BreadcrumbBlock struct {
BaseBlock
}
func (BreadcrumbBlock) MarshalJSON ¶
func (b BreadcrumbBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type BulletedListItemBlock ¶
type CalloutBlock ¶
type ChildDatabaseBlock ¶
type ChildDatabaseBlock struct {
Title string `json:"title"`
}
type ChildPageBlock ¶
type ChildPageBlock struct {
Title string `json:"title"`
}
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is used for HTTP requests to the Notion API.
func NewClient ¶
func NewClient(apiKey string, opts ...ClientOption) *Client
NewClient returns a new Client.
func (*Client) AppendBlockChildren ¶
func (c *Client) AppendBlockChildren(ctx context.Context, blockID string, children []Block) (result BlockChildrenResponse, err error)
AppendBlockChildren appends child content (blocks) to an existing block. See: https://developers.notion.com/reference/patch-block-children
func (*Client) CreateComment ¶
func (c *Client) CreateComment(ctx context.Context, params CreateCommentParams) (comment Comment, err error)
CreateComment creates a comment in a page or existing discussion thread. See: https://developers.notion.com/reference/create-a-comment
func (*Client) CreateDatabase ¶
func (c *Client) CreateDatabase(ctx context.Context, params CreateDatabaseParams) (db Database, err error)
CreateDatabase creates a new database as a child of an existing page. See: https://developers.notion.com/reference/create-a-database
func (*Client) CreatePage ¶
CreatePage creates a new page in the specified database or as a child of an existing page. See: https://developers.notion.com/reference/post-page
func (*Client) DeleteBlock ¶
DeleteBlock sets `archived: true` on a (page) block object. See: https://developers.notion.com/reference/delete-a-block
func (*Client) FindBlockByID ¶
FindBlockByID returns a single of block for a given block ID. See: https://developers.notion.com/reference/retrieve-a-block
func (*Client) FindBlockChildrenByID ¶
func (c *Client) FindBlockChildrenByID(ctx context.Context, blockID string, query *PaginationQuery) (result BlockChildrenResponse, err error)
FindBlockChildrenByID returns a list of block children for a given block ID. See: https://developers.notion.com/reference/post-database-query
func (*Client) FindCommentsByBlockID ¶
func (c *Client) FindCommentsByBlockID( ctx context.Context, query FindCommentsByBlockIDQuery, ) (result FindCommentsResponse, err error)
FindCommentsByBlockID returns a list of unresolved comments by parent block ID, and pagination metadata. See: https://developers.notion.com/reference/retrieve-a-comment
func (*Client) FindCurrentUser ¶
FindCurrentUser fetches the current bot user based on authentication API key. See: https://developers.notion.com/reference/get-self
func (*Client) FindDatabaseByID ¶
FindDatabaseByID fetches a database by ID. See: https://developers.notion.com/reference/get-database
func (*Client) FindPageByID ¶
FindPageByID fetches a page by ID. See: https://developers.notion.com/reference/get-page
func (*Client) FindPagePropertyByID ¶
func (c *Client) FindPagePropertyByID(ctx context.Context, pageID, propID string, query *PaginationQuery) (result PagePropResponse, err error)
FindPagePropertyByID returns a page property. See: https://developers.notion.com/reference/retrieve-a-page-property
func (*Client) FindUserByID ¶
FindUserByID fetches a user by ID. See: https://developers.notion.com/reference/get-user
func (*Client) ListUsers ¶
func (c *Client) ListUsers(ctx context.Context, query *PaginationQuery) (result ListUsersResponse, err error)
ListUsers returns a list of all users, and pagination metadata. See: https://developers.notion.com/reference/get-users
func (*Client) QueryDatabase ¶
func (c *Client) QueryDatabase(ctx context.Context, id string, query *DatabaseQuery) (result DatabaseQueryResponse, err error)
QueryDatabase returns database contents, with optional filters, sorts and pagination. See: https://developers.notion.com/reference/post-database-query
func (*Client) Search ¶
func (c *Client) Search(ctx context.Context, opts *SearchOpts) (result SearchResponse, err error)
Search fetches all pages and child pages that are shared with the integration. Optionally uses query, filter and pagination options. See: https://developers.notion.com/reference/post-search
func (*Client) UpdateBlock ¶
UpdateBlock updates a block. See: https://developers.notion.com/reference/update-a-block
func (*Client) UpdateDatabase ¶
func (c *Client) UpdateDatabase(ctx context.Context, databaseID string, params UpdateDatabaseParams) (updatedDB Database, err error)
UpdateDatabase updates a database. See: https://developers.notion.com/reference/update-a-database
func (*Client) UpdatePage ¶
func (c *Client) UpdatePage(ctx context.Context, pageID string, params UpdatePageParams) (page Page, err error)
UpdatePage updates a page. See: https://developers.notion.com/reference/patch-page
type ClientOption ¶
type ClientOption func(*Client)
ClientOption is used to override default client behavior.
func WithHTTPClient ¶
func WithHTTPClient(httpClient *http.Client) ClientOption
WithHTTPClient overrides the default http.Client.
type Color ¶
type Color string
const ( ColorDefault Color = "default" ColorGray Color = "gray" ColorBrown Color = "brown" ColorOrange Color = "orange" ColorYellow Color = "yellow" ColorGreen Color = "green" ColorBlue Color = "blue" ColorPurple Color = "purple" ColorPink Color = "pink" ColorRed Color = "red" ColorGrayBg Color = "gray_background" ColorBrownBg Color = "brown_background" ColorOrangeBg Color = "orange_background" ColorYellowBg Color = "yellow_background" ColorGreenBg Color = "green_background" ColorBlueBg Color = "blue_background" ColorPurpleBg Color = "purple_background" ColorPinkBg Color = "pink_background" ColorRedBg Color = "red_background" )
type ColumnBlock ¶
type ColumnBlock struct {
Children []Block `json:"children,omitempty"`
}
type ColumnListBlock ¶
type ColumnListBlock struct {
Children []ColumnBlock `json:"children,omitempty"`
}
type Comment ¶
type Comment struct { ID string `json:"id"` Parent Parent `json:"parent"` DiscussionID string `json:"discussion_id"` RichText []RichText `json:"rich_text"` CreatedTime time.Time `json:"created_time"` LastEditedTime time.Time `json:"last_edited_time"` CreatedBy BaseUser `json:"created_by"` }
Comment represents a comment on a Notion page or block. See: https://developers.notion.com/reference/comment-object
type Cover ¶
type Cover struct { Type FileType `json:"type"` File *FileFile `json:"file,omitempty"` External *FileExternal `json:"external,omitempty"` }
type CreateCommentParams ¶
type CreateCommentParams struct { // Either ParentPageID or DiscussionID must be non-empty. Also cannot be set // both at the same time. ParentPageID string DiscussionID string RichText []RichText }
CreateCommentParams are the params used for creating a comment.
func (CreateCommentParams) MarshalJSON ¶
func (p CreateCommentParams) MarshalJSON() ([]byte, error)
func (CreateCommentParams) Validate ¶
func (p CreateCommentParams) Validate() error
type CreateDatabaseParams ¶
type CreateDatabaseParams struct { ParentPageID string Title []RichText Description []RichText Properties DatabaseProperties Icon *Icon Cover *Cover IsInline bool }
CreateDatabaseParams are the params used for creating a database.
func (CreateDatabaseParams) MarshalJSON ¶
func (p CreateDatabaseParams) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
func (CreateDatabaseParams) Validate ¶
func (p CreateDatabaseParams) Validate() error
Validate validates params for creating a database.
type CreatePageParams ¶
type CreatePageParams struct { ParentType ParentType ParentID string // Either DatabasePageProperties or Title must be not nil. DatabasePageProperties *DatabasePageProperties Title []RichText // Optionally, children blocks are added to the page. Children []Block Icon *Icon Cover *Cover }
CreatePageParams are the params used for creating a page.
func (CreatePageParams) MarshalJSON ¶
func (p CreatePageParams) MarshalJSON() ([]byte, error)
func (CreatePageParams) Validate ¶
func (p CreatePageParams) Validate() error
type Database ¶
type Database struct { ID string `json:"id"` CreatedTime time.Time `json:"created_time"` CreatedBy BaseUser `json:"created_by"` LastEditedTime time.Time `json:"last_edited_time"` LastEditedBy BaseUser `json:"last_edited_by"` URL string `json:"url"` Title []RichText `json:"title"` Description []RichText `json:"description"` Properties DatabaseProperties `json:"properties"` Parent Parent `json:"parent"` Icon *Icon `json:"icon,omitempty"` Cover *Cover `json:"cover,omitempty"` Archived bool `json:"archived"` IsInline bool `json:"is_inline"` }
Database is a resource on the Notion platform. See: https://developers.notion.com/reference/database
type DatabasePageProperties ¶
type DatabasePageProperties map[string]DatabasePageProperty
DatabasePageProperties are properties of a page whose parent is a database.
type DatabasePageProperty ¶
type DatabasePageProperty struct { ID string `json:"id,omitempty"` Type DatabasePropertyType `json:"type,omitempty"` Name string `json:"name,omitempty"` Title []RichText `json:"title,omitempty"` RichText []RichText `json:"rich_text,omitempty"` Number *float64 `json:"number,omitempty"` Select *SelectOptions `json:"select,omitempty"` MultiSelect []SelectOptions `json:"multi_select,omitempty"` Date *Date `json:"date,omitempty"` Formula *FormulaResult `json:"formula,omitempty"` Relation []Relation `json:"relation,omitempty"` Rollup *RollupResult `json:"rollup,omitempty"` People []User `json:"people,omitempty"` Files []File `json:"files,omitempty"` Checkbox *bool `json:"checkbox,omitempty"` URL *string `json:"url,omitempty"` Email *string `json:"email,omitempty"` PhoneNumber *string `json:"phone_number,omitempty"` Status *SelectOptions `json:"status,omitempty"` CreatedTime *time.Time `json:"created_time,omitempty"` CreatedBy *User `json:"created_by,omitempty"` LastEditedTime *time.Time `json:"last_edited_time,omitempty"` LastEditedBy *User `json:"last_edited_by,omitempty"` }
func (DatabasePageProperty) Value ¶
func (prop DatabasePageProperty) Value() interface{}
Value returns the underlying database page property value, based on its `type` field. When type is unknown/unmapped or doesn't have a value, `nil` is returned.
type DatabaseProperties ¶
type DatabaseProperties map[string]DatabaseProperty
DatabaseProperties is a mapping of properties defined on a database.
type DatabaseProperty ¶
type DatabaseProperty struct { ID string `json:"id,omitempty"` Type DatabasePropertyType `json:"type"` Name string `json:"name,omitempty"` Title *EmptyMetadata `json:"title,omitempty"` RichText *EmptyMetadata `json:"rich_text,omitempty"` Date *EmptyMetadata `json:"date,omitempty"` People *EmptyMetadata `json:"people,omitempty"` Files *EmptyMetadata `json:"files,omitempty"` Checkbox *EmptyMetadata `json:"checkbox,omitempty"` URL *EmptyMetadata `json:"url,omitempty"` Email *EmptyMetadata `json:"email,omitempty"` PhoneNumber *EmptyMetadata `json:"phone_number,omitempty"` CreatedTime *EmptyMetadata `json:"created_time,omitempty"` CreatedBy *EmptyMetadata `json:"created_by,omitempty"` LastEditedTime *EmptyMetadata `json:"last_edited_time,omitempty"` LastEditedBy *EmptyMetadata `json:"last_edited_by,omitempty"` Number *NumberMetadata `json:"number,omitempty"` Select *SelectMetadata `json:"select,omitempty"` MultiSelect *SelectMetadata `json:"multi_select,omitempty"` Formula *FormulaMetadata `json:"formula,omitempty"` Relation *RelationMetadata `json:"relation,omitempty"` Rollup *RollupMetadata `json:"rollup,omitempty"` Status *StatusMetadata `json:"status,omitempty"` }
func (DatabaseProperty) Metadata ¶
func (prop DatabaseProperty) Metadata() interface{}
Metadata returns the underlying property metadata, based on its `type` field. When type is unknown/unmapped or doesn't have additional properies, `nil` is returned.
type DatabasePropertyType ¶
type DatabasePropertyType string
type DatabaseQuery ¶
type DatabaseQuery struct { Filter *DatabaseQueryFilter `json:"filter,omitempty"` Sorts []DatabaseQuerySort `json:"sorts,omitempty"` StartCursor string `json:"start_cursor,omitempty"` PageSize int `json:"page_size,omitempty"` }
DatabaseQuery is used for quering a database.
type DatabaseQueryFilter ¶
type DatabaseQueryFilter struct { Property string `json:"property,omitempty"` DatabaseQueryPropertyFilter Timestamp Timestamp `json:"timestamp,omitempty"` Or []DatabaseQueryFilter `json:"or,omitempty"` And []DatabaseQueryFilter `json:"and,omitempty"` }
DatabaseQueryFilter is used to filter database contents. See: https://developers.notion.com/reference/post-database-query#post-database-query-filter
type DatabaseQueryPropertyFilter ¶
type DatabaseQueryPropertyFilter struct { Title *TextPropertyFilter `json:"title,omitempty"` RichText *TextPropertyFilter `json:"rich_text,omitempty"` URL *TextPropertyFilter `json:"url,omitempty"` Email *TextPropertyFilter `json:"email,omitempty"` PhoneNumber *TextPropertyFilter `json:"phone_number,omitempty"` Date *DatePropertyFilter `json:"date,omitempty"` CreatedTime *DatePropertyFilter `json:"created_time,omitempty"` LastEditedTime *DatePropertyFilter `json:"last_edited_time,omitempty"` Number *NumberDatabaseQueryFilter `json:"number,omitempty"` Checkbox *CheckboxDatabaseQueryFilter `json:"checkbox,omitempty"` Select *SelectDatabaseQueryFilter `json:"select,omitempty"` MultiSelect *MultiSelectDatabaseQueryFilter `json:"multi_select,omitempty"` Status *StatusDatabaseQueryFilter `json:"status,omitempty"` People *PeopleDatabaseQueryFilter `json:"people,omitempty"` Files *FilesDatabaseQueryFilter `json:"files,omitempty"` Relation *RelationDatabaseQueryFilter `json:"relation,omitempty"` Formula *FormulaDatabaseQueryFilter `json:"formula,omitempty"` Rollup *RollupDatabaseQueryFilter `json:"rollup,omitempty"` CreatedBy *PeopleDatabaseQueryFilter `json:"created_by,omitempty"` LastEditedBy *PeopleDatabaseQueryFilter `json:"last_edited_by,omitempty"` }
type DatabaseQueryResponse ¶
type DatabaseQueryResponse struct { Results []Page `json:"results"` HasMore bool `json:"has_more"` NextCursor *string `json:"next_cursor"` }
DatabaseQueryResponse contains the results and pagination data from a query request.
type DatabaseQuerySort ¶
type DatabaseQuerySort struct { Property string `json:"property,omitempty"` Timestamp SortTimestamp `json:"timestamp,omitempty"` Direction SortDirection `json:"direction,omitempty"` }
type DatePropertyFilter ¶
type DatePropertyFilter struct { Equals *time.Time `json:"equals,omitempty"` Before *time.Time `json:"before,omitempty"` After *time.Time `json:"after,omitempty"` OnOrBefore *time.Time `json:"on_or_before,omitempty"` OnOrAfter *time.Time `json:"on_or_after,omitempty"` IsEmpty bool `json:"is_empty,omitempty"` IsNotEmpty bool `json:"is_not_empty,omitempty"` PastWeek *struct{} `json:"past_week,omitempty"` PastMonth *struct{} `json:"past_month,omitempty"` PastYear *struct{} `json:"past_year,omitempty"` NextWeek *struct{} `json:"next_week,omitempty"` NextMonth *struct{} `json:"next_month,omitempty"` NextYear *struct{} `json:"next_year,omitempty"` }
type DateTime ¶
DateTime represents a Notion date property with optional time.
func NewDateTime ¶
NewDateTime returns a new DateTime. If `haseTime` is true, time is included when encoding to JSON.
func ParseDateTime ¶
ParseDateTime parses an RFC3339 formatted string with optional time.
func (DateTime) Equal ¶
Equal returns true if both DateTime values have equal underlying time.Time and hasTime fields.
func (*DateTime) HasTime ¶
HasTime returns true if the datetime was parsed from a string that included time.
func (DateTime) MarshalJSON ¶
MarshalJSON implements json.Marshaler. It returns an RFC399 formatted string, using microsecond precision ()
func (*DateTime) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type DividerBlock ¶
type DividerBlock struct {
BaseBlock
}
func (DividerBlock) MarshalJSON ¶
func (b DividerBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type DualPropertyRelation ¶
type EmbedBlock ¶
type EmbedBlock struct {
URL string `json:"url"`
}
type EquationBlock ¶
type EquationBlock struct {
Expression string `json:"expression"`
}
type File ¶
type File struct { Name string `json:"name"` Type FileType `json:"type"` File *FileFile `json:"file,omitempty"` External *FileExternal `json:"external,omitempty"` }
type FileBlock ¶
type FileBlock struct { Type FileType `json:"type"` File *FileFile `json:"file,omitempty"` External *FileExternal `json:"external,omitempty"` Caption []RichText `json:"caption,omitempty"` }
type FileExternal ¶
type FileExternal struct {
URL string `json:"url"`
}
type FindCommentsByBlockIDQuery ¶
FindCommentsByBlockIDQuery is used when listing comments.
type FindCommentsResponse ¶
type FindCommentsResponse struct { Results []Comment `json:"results"` HasMore bool `json:"has_more"` NextCursor *string `json:"next_cursor"` }
FindCommentsResponse contains results (comments) and pagination data returned from a list request.
type FormulaDatabaseQueryFilter ¶
type FormulaDatabaseQueryFilter struct { String *TextPropertyFilter `json:"string,omitempty"` Checkbox *CheckboxDatabaseQueryFilter `json:"checkbox,omitempty"` Number *NumberDatabaseQueryFilter `json:"number,omitempty"` Date *DatePropertyFilter `json:"date,omitempty"` }
type FormulaMetadata ¶
type FormulaMetadata struct {
Expression string `json:"expression"`
}
Database property metadata types.
type FormulaResult ¶
type FormulaResult struct { Type FormulaResultType `json:"type"` String *string `json:"string,omitempty"` Number *float64 `json:"number,omitempty"` Boolean *bool `json:"boolean,omitempty"` Date *Date `json:"date,omitempty"` }
func (FormulaResult) Value ¶
func (f FormulaResult) Value() interface{}
Value returns the underlying result value of an evaluated formula.
type FormulaResultType ¶
type FormulaResultType string
type Heading1Block ¶
type Heading2Block ¶
type Heading3Block ¶
type Icon ¶
type Icon struct { Type IconType `json:"type"` Emoji *string `json:"emoji,omitempty"` File *FileFile `json:"file,omitempty"` External *FileExternal `json:"external,omitempty"` }
Icon has one non-nil Emoji or External field, denoted by the corresponding IconType.
type ImageBlock ¶
type ImageBlock struct { Type FileType `json:"type"` File *FileFile `json:"file,omitempty"` External *FileExternal `json:"external,omitempty"` Caption []RichText `json:"caption,omitempty"` }
type LinkPreview ¶
type LinkPreview struct {
URL string `json:"url"`
}
type LinkPreviewBlock ¶
type LinkPreviewBlock struct {
URL string `json:"url"`
}
type LinkToPageBlock ¶
type LinkToPageBlock struct { Type LinkToPageType `json:"type"` PageID string `json:"page_id,omitempty"` DatabaseID string `json:"database_id,omitempty"` }
type LinkToPageType ¶
type LinkToPageType string
const ( LinkToPageTypePageID LinkToPageType = "page_id" LinkToPageTypeDatabaseID LinkToPageType = "database_id" )
type ListUsersResponse ¶
type ListUsersResponse struct { Results []User `json:"results"` HasMore bool `json:"has_more"` NextCursor *string `json:"next_cursor"` }
ListUsersResponse contains results (users) and pagination data returned from a list request.
type Mention ¶
type Mention struct { Type MentionType `json:"type"` User *User `json:"user,omitempty"` Page *ID `json:"page,omitempty"` Database *ID `json:"database,omitempty"` Date *Date `json:"date,omitempty"` LinkPreview *LinkPreview `json:"link_preview,omitempty"` TemplateMention *TemplateMention `json:"template_mention,omitempty"` }
type MentionType ¶
type MentionType string
type NumberDatabaseQueryFilter ¶
type NumberDatabaseQueryFilter struct { Equals *int `json:"equals,omitempty"` DoesNotEqual *int `json:"does_not_equal,omitempty"` GreaterThan *int `json:"greater_than,omitempty"` LessThan *int `json:"less_than,omitempty"` GreaterThanOrEqualTo *int `json:"greater_than_or_equal_to,omitempty"` LessThanOrEqualTo *int `json:"less_than_or_equal_to,omitempty"` IsEmpty bool `json:"is_empty,omitempty"` IsNotEmpty bool `json:"is_not_empty,omitempty"` }
type NumberFormat ¶
type NumberFormat string
type NumberMetadata ¶
type NumberMetadata struct {
Format NumberFormat `json:"format"`
}
Database property metadata types.
type NumberedListItemBlock ¶
type PDFBlock ¶
type PDFBlock struct { Type FileType `json:"type"` File *FileFile `json:"file,omitempty"` External *FileExternal `json:"external,omitempty"` Caption []RichText `json:"caption,omitempty"` }
type Page ¶
type Page struct { ID string `json:"id"` CreatedTime time.Time `json:"created_time"` CreatedBy *BaseUser `json:"created_by,omitempty"` LastEditedTime time.Time `json:"last_edited_time"` LastEditedBy *BaseUser `json:"last_edited_by,omitempty"` Parent Parent `json:"parent"` Archived bool `json:"archived"` URL string `json:"url"` Icon *Icon `json:"icon,omitempty"` Cover *Cover `json:"cover,omitempty"` // Properties differ between parent type. // See the `UnmarshalJSON` method. Properties interface{} `json:"properties"` }
Page is a resource on the Notion platform. Its parent is either a workspace, another page, or a database. See: https://developers.notion.com/reference/page
func (*Page) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
Pages get a different Properties type based on the parent of the page. If parent type is `workspace` or `page_id`, PageProperties is used. Else if parent type is `database_id`, DatabasePageProperties is used.
type PagePropItem ¶
type PagePropItem struct { Type DatabasePropertyType `json:"type"` Title RichText `json:"title"` RichText RichText `json:"rich_text"` Number float64 `json:"number"` Select SelectOptions `json:"select"` MultiSelect SelectOptions `json:"multi_select"` Date Date `json:"date"` Formula FormulaResult `json:"formula"` Relation Relation `json:"relation"` Rollup RollupResult `json:"rollup"` People User `json:"people"` Files File `json:"files"` Checkbox bool `json:"checkbox"` URL string `json:"url"` Email string `json:"email"` PhoneNumber string `json:"phone_number"` CreatedTime time.Time `json:"created_time"` CreatedBy User `json:"created_by"` LastEditedTime time.Time `json:"last_edited_time"` LastEditedBy User `json:"last_edited_by"` }
PagePropItem is used for a *single* property object value, e.g. for a `rich_text` property, a single value of an array of rich text elements. This type is used when fetching single properties.
type PagePropListItem ¶
type PagePropListItem struct { ID string `json:"id"` Type DatabasePropertyType `json:"type"` NextURL string `json:"next_url"` Rollup RollupResult `json:"rollup"` }
PagePropListItem describes the property returned in a paginated list response (e.g. `type` is `title`, `rich_text`, `relation` or `people`). See: https://developers.notion.com/reference/property-item-object#paginated-property-values
type PagePropResponse ¶
type PagePropResponse struct { PagePropItem Results []PagePropItem `json:"results"` HasMore bool `json:"has_more"` NextCursor string `json:"next_cursor"` PropertyItem PagePropListItem `json:"property_item"` }
PagePropResponse contains a single database page property item or a list of items. For rollup props with an aggregation, both a `results` array and a `rollup` field (inside `page_property`) is included. See: https://developers.notion.com/reference/retrieve-a-page-property#rollup-properties
type PageProperties ¶
type PageProperties struct {
Title PageTitle `json:"title"`
}
PageProperties are properties of a page whose parent is a page or a workspace.
type PaginationQuery ¶
type ParagraphBlock ¶
type Parent ¶
type Parent struct { Type ParentType `json:"type,omitempty"` BlockID string `json:"block_id,omitempty"` PageID string `json:"page_id,omitempty"` DatabaseID string `json:"database_id,omitempty"` Workspace bool `json:"workspace,omitempty"` }
type ParentType ¶
type ParentType string
const ( ParentTypeDatabase ParentType = "database_id" ParentTypePage ParentType = "page_id" ParentTypeBlock ParentType = "block_id" ParentTypeWorkspace ParentType = "workspace" )
type QuoteBlock ¶
type RelationMetadata ¶
type RelationMetadata struct { DatabaseID string `json:"database_id,omitempty"` Type RelationType `json:"type,omitempty"` SingleProperty *struct{} `json:"single_property,omitempty"` DualProperty *DualPropertyRelation `json:"dual_property,omitempty"` }
Database property metadata types.
type RelationType ¶
type RelationType string
type RichText ¶
type RichText struct { Type RichTextType `json:"type,omitempty"` Annotations *Annotations `json:"annotations,omitempty"` PlainText string `json:"plain_text,omitempty"` HRef *string `json:"href,omitempty"` Text *Text `json:"text,omitempty"` Mention *Mention `json:"mention,omitempty"` Equation *Equation `json:"equation,omitempty"` }
type RichTextType ¶
type RichTextType string
const ( RichTextTypeText RichTextType = "text" RichTextTypeMention RichTextType = "mention" RichTextTypeEquation RichTextType = "equation" )
type RollupDatabaseQueryFilter ¶
type RollupDatabaseQueryFilter struct { Any *DatabaseQueryPropertyFilter `json:"any,omitempty"` Every *DatabaseQueryPropertyFilter `json:"every,omitempty"` None *DatabaseQueryPropertyFilter `json:"none,omitempty"` Number *NumberDatabaseQueryFilter `json:"number,omitempty"` Date *DatePropertyFilter `json:"date,omitempty"` }
type RollupFunction ¶
type RollupFunction string
type RollupMetadata ¶
type RollupMetadata struct { RelationPropName string `json:"relation_property_name,omitempty"` RelationPropID string `json:"relation_property_id,omitempty"` RollupPropName string `json:"rollup_property_name,omitempty"` RollupPropID string `json:"rollup_property_id,omitempty"` Function RollupFunction `json:"function,omitempty"` }
Database property metadata types.
type RollupResult ¶
type RollupResult struct { Type RollupResultType `json:"type"` Number *float64 `json:"number,omitempty"` Date *Date `json:"date,omitempty"` Array []DatabasePageProperty `json:"array,omitempty"` }
func (RollupResult) Value ¶
func (r RollupResult) Value() interface{}
Value returns the underlying result value of an evaluated rollup.
type RollupResultType ¶
type RollupResultType string
type SearchFilter ¶
type SearchOpts ¶
type SearchOpts struct { Query string `json:"query,omitempty"` Sort *SearchSort `json:"sort,omitempty"` Filter *SearchFilter `json:"filter,omitempty"` StartCursor string `json:"start_cursor,omitempty"` PageSize int `json:"page_size,omitempty"` }
type SearchResponse ¶
type SearchResponse struct { // Results are either pages or databases. See `SearchResponse.UnmarshalJSON`. Results SearchResults `json:"results"` HasMore bool `json:"has_more"` NextCursor *string `json:"next_cursor"` }
type SearchResults ¶
type SearchResults []interface{}
func (*SearchResults) UnmarshalJSON ¶
func (sr *SearchResults) UnmarshalJSON(b []byte) error
type SearchSort ¶
type SearchSort struct { Direction SortDirection `json:"direction,omitempty"` Timestamp SearchSortTimestamp `json:"timestamp"` }
type SearchSortTimestamp ¶
type SearchSortTimestamp string
const SearchSortTimestampLastEditedTime SearchSortTimestamp = "last_edited_time"
type SelectMetadata ¶
type SelectMetadata struct {
Options []SelectOptions `json:"options"`
}
Database property metadata types.
type SelectOptions ¶
type SortDirection ¶
type SortDirection string
type SortTimestamp ¶
type SortTimestamp string
type StatusGroup ¶
type StatusMetadata ¶
type StatusMetadata struct { Options []SelectOptions `json:"options"` Groups []StatusGroup `json:"groups"` }
Database property metadata types.
type SyncedBlock ¶
type SyncedBlock struct { BaseBlock SyncedFrom *SyncedFrom `json:"synced_from"` Children []Block `json:"children,omitempty"` }
func (SyncedBlock) MarshalJSON ¶
func (b SyncedBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type SyncedFrom ¶
type SyncedFrom struct { Type SyncedFromType `json:"type"` BlockID string `json:"block_id"` }
type SyncedFromType ¶
type SyncedFromType string
const SyncedFromTypeBlockID SyncedFromType = "block_id"
type TableBlock ¶
type TableOfContentsBlock ¶
func (TableOfContentsBlock) MarshalJSON ¶
func (b TableOfContentsBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type TableRowBlock ¶
type TableRowBlock struct {
Cells [][]RichText `json:"cells"`
}
type TemplateBlock ¶
type TemplateMention ¶
type TemplateMention struct { Type TemplateMentionType `json:"type"` TemplateMentionDate *TemplateMentionDateType `json:"template_mention_date,omitempty"` TemplateMentionUser *TemplateMentionUserType `json:"template_mention_user,omitempty"` }
type TemplateMentionDateType ¶
type TemplateMentionDateType string
type TemplateMentionType ¶
type TemplateMentionType string
type TemplateMentionUserType ¶
type TemplateMentionUserType string
type TextPropertyFilter ¶
type TextPropertyFilter struct { Equals string `json:"equals,omitempty"` DoesNotEqual string `json:"does_not_equal,omitempty"` Contains string `json:"contains,omitempty"` DoesNotContain string `json:"does_not_contain,omitempty"` StartsWith string `json:"starts_with,omitempty"` EndsWith string `json:"ends_with,omitempty"` IsEmpty bool `json:"is_empty,omitempty"` IsNotEmpty bool `json:"is_not_empty,omitempty"` }
type ToggleBlock ¶
type UpdateDatabaseParams ¶
type UpdateDatabaseParams struct { Title []RichText `json:"title,omitempty"` Description []RichText `json:"description,omitempty"` Properties map[string]*DatabaseProperty `json:"properties,omitempty"` Icon *Icon `json:"icon,omitempty"` Cover *Cover `json:"cover,omitempty"` Archived *bool `json:"archived,omitempty"` IsInline *bool `json:"is_inline,omitempty"` }
UpdateDatabaseParams are the params used for updating a database.
func (UpdateDatabaseParams) Validate ¶
func (p UpdateDatabaseParams) Validate() error
Validate validates params for updating a database.
type UpdatePageParams ¶
type UpdatePageParams struct { DatabasePageProperties DatabasePageProperties `json:"properties,omitempty"` Archived *bool `json:"archived,omitempty"` Icon *Icon `json:"icon,omitempty"` Cover *Cover `json:"cover,omitempty"` }
UpdatePageParams is used for updating a page. At least one field should have a non-empty value.
func (UpdatePageParams) Validate ¶
func (p UpdatePageParams) Validate() error
type VideoBlock ¶
type VideoBlock struct { Type FileType `json:"type"` File *FileFile `json:"file,omitempty"` External *FileExternal `json:"external,omitempty"` Caption []RichText `json:"caption,omitempty"` }