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 App
- type AuthResponse
- type BaseUser
- type Block
- type BlockChildrenResponse
- type BlockType
- type BookmarkBlock
- func (b BookmarkBlock) Archived() bool
- func (b BookmarkBlock) CreatedBy() BaseUser
- func (b BookmarkBlock) CreatedTime() time.Time
- func (b BookmarkBlock) HasChildren() bool
- func (b BookmarkBlock) ID() string
- func (b BookmarkBlock) LastEditedBy() BaseUser
- func (b BookmarkBlock) LastEditedTime() time.Time
- func (b BookmarkBlock) MarshalJSON() ([]byte, error)
- func (b BookmarkBlock) Parent() Parent
- type Bot
- type BotOwner
- type BotOwnerType
- type BreadcrumbBlock
- func (b BreadcrumbBlock) Archived() bool
- func (b BreadcrumbBlock) CreatedBy() BaseUser
- func (b BreadcrumbBlock) CreatedTime() time.Time
- func (b BreadcrumbBlock) HasChildren() bool
- func (b BreadcrumbBlock) ID() string
- func (b BreadcrumbBlock) LastEditedBy() BaseUser
- func (b BreadcrumbBlock) LastEditedTime() time.Time
- func (b BreadcrumbBlock) MarshalJSON() ([]byte, error)
- func (b BreadcrumbBlock) Parent() Parent
- type BulletedListItemBlock
- func (b BulletedListItemBlock) Archived() bool
- func (b BulletedListItemBlock) CreatedBy() BaseUser
- func (b BulletedListItemBlock) CreatedTime() time.Time
- func (b BulletedListItemBlock) HasChildren() bool
- func (b BulletedListItemBlock) ID() string
- func (b BulletedListItemBlock) LastEditedBy() BaseUser
- func (b BulletedListItemBlock) LastEditedTime() time.Time
- func (b BulletedListItemBlock) MarshalJSON() ([]byte, error)
- func (b BulletedListItemBlock) Parent() Parent
- type CalloutBlock
- func (b CalloutBlock) Archived() bool
- func (b CalloutBlock) CreatedBy() BaseUser
- func (b CalloutBlock) CreatedTime() time.Time
- func (b CalloutBlock) HasChildren() bool
- func (b CalloutBlock) ID() string
- func (b CalloutBlock) LastEditedBy() BaseUser
- func (b CalloutBlock) LastEditedTime() time.Time
- func (b CalloutBlock) MarshalJSON() ([]byte, error)
- func (b CalloutBlock) Parent() Parent
- type CheckboxDatabaseQueryFilter
- type ChildDatabaseBlock
- func (b ChildDatabaseBlock) Archived() bool
- func (b ChildDatabaseBlock) CreatedBy() BaseUser
- func (b ChildDatabaseBlock) CreatedTime() time.Time
- func (b ChildDatabaseBlock) HasChildren() bool
- func (b ChildDatabaseBlock) ID() string
- func (b ChildDatabaseBlock) LastEditedBy() BaseUser
- func (b ChildDatabaseBlock) LastEditedTime() time.Time
- func (b ChildDatabaseBlock) MarshalJSON() ([]byte, error)
- func (b ChildDatabaseBlock) Parent() Parent
- type ChildPageBlock
- func (b ChildPageBlock) Archived() bool
- func (b ChildPageBlock) CreatedBy() BaseUser
- func (b ChildPageBlock) CreatedTime() time.Time
- func (b ChildPageBlock) HasChildren() bool
- func (b ChildPageBlock) ID() string
- func (b ChildPageBlock) LastEditedBy() BaseUser
- func (b ChildPageBlock) LastEditedTime() time.Time
- func (b ChildPageBlock) MarshalJSON() ([]byte, error)
- func (b ChildPageBlock) Parent() Parent
- 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
- func (b CodeBlock) Archived() bool
- func (b CodeBlock) CreatedBy() BaseUser
- func (b CodeBlock) CreatedTime() time.Time
- func (b CodeBlock) HasChildren() bool
- func (b CodeBlock) ID() string
- func (b CodeBlock) LastEditedBy() BaseUser
- func (b CodeBlock) LastEditedTime() time.Time
- func (b CodeBlock) MarshalJSON() ([]byte, error)
- func (b CodeBlock) Parent() Parent
- type Color
- type ColumnBlock
- func (b ColumnBlock) Archived() bool
- func (b ColumnBlock) CreatedBy() BaseUser
- func (b ColumnBlock) CreatedTime() time.Time
- func (b ColumnBlock) HasChildren() bool
- func (b ColumnBlock) ID() string
- func (b ColumnBlock) LastEditedBy() BaseUser
- func (b ColumnBlock) LastEditedTime() time.Time
- func (b ColumnBlock) MarshalJSON() ([]byte, error)
- func (b ColumnBlock) Parent() Parent
- type ColumnListBlock
- func (b ColumnListBlock) Archived() bool
- func (b ColumnListBlock) CreatedBy() BaseUser
- func (b ColumnListBlock) CreatedTime() time.Time
- func (b ColumnListBlock) HasChildren() bool
- func (b ColumnListBlock) ID() string
- func (b ColumnListBlock) LastEditedBy() BaseUser
- func (b ColumnListBlock) LastEditedTime() time.Time
- func (b ColumnListBlock) MarshalJSON() ([]byte, error)
- func (b ColumnListBlock) Parent() Parent
- 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
- func (b DividerBlock) Archived() bool
- func (b DividerBlock) CreatedBy() BaseUser
- func (b DividerBlock) CreatedTime() time.Time
- func (b DividerBlock) HasChildren() bool
- func (b DividerBlock) ID() string
- func (b DividerBlock) LastEditedBy() BaseUser
- func (b DividerBlock) LastEditedTime() time.Time
- func (b DividerBlock) MarshalJSON() ([]byte, error)
- func (b DividerBlock) Parent() Parent
- type DualPropertyRelation
- type EmbedBlock
- func (b EmbedBlock) Archived() bool
- func (b EmbedBlock) CreatedBy() BaseUser
- func (b EmbedBlock) CreatedTime() time.Time
- func (b EmbedBlock) HasChildren() bool
- func (b EmbedBlock) ID() string
- func (b EmbedBlock) LastEditedBy() BaseUser
- func (b EmbedBlock) LastEditedTime() time.Time
- func (b EmbedBlock) MarshalJSON() ([]byte, error)
- func (b EmbedBlock) Parent() Parent
- type EmptyMetadata
- type Equation
- type EquationBlock
- func (b EquationBlock) Archived() bool
- func (b EquationBlock) CreatedBy() BaseUser
- func (b EquationBlock) CreatedTime() time.Time
- func (b EquationBlock) HasChildren() bool
- func (b EquationBlock) ID() string
- func (b EquationBlock) LastEditedBy() BaseUser
- func (b EquationBlock) LastEditedTime() time.Time
- func (b EquationBlock) MarshalJSON() ([]byte, error)
- func (b EquationBlock) Parent() Parent
- type File
- type FileBlock
- func (b FileBlock) Archived() bool
- func (b FileBlock) CreatedBy() BaseUser
- func (b FileBlock) CreatedTime() time.Time
- func (b FileBlock) HasChildren() bool
- func (b FileBlock) ID() string
- func (b FileBlock) LastEditedBy() BaseUser
- func (b FileBlock) LastEditedTime() time.Time
- func (b FileBlock) MarshalJSON() ([]byte, error)
- func (b FileBlock) Parent() Parent
- type FileExternal
- type FileFile
- type FileType
- type FilesDatabaseQueryFilter
- type FindCommentsByBlockIDQuery
- type FindCommentsResponse
- type FormulaDatabaseQueryFilter
- type FormulaMetadata
- type FormulaResult
- type FormulaResultType
- type Heading1Block
- func (b Heading1Block) Archived() bool
- func (b Heading1Block) CreatedBy() BaseUser
- func (b Heading1Block) CreatedTime() time.Time
- func (b Heading1Block) HasChildren() bool
- func (b Heading1Block) ID() string
- func (b Heading1Block) LastEditedBy() BaseUser
- func (b Heading1Block) LastEditedTime() time.Time
- func (b Heading1Block) MarshalJSON() ([]byte, error)
- func (b Heading1Block) Parent() Parent
- type Heading2Block
- func (b Heading2Block) Archived() bool
- func (b Heading2Block) CreatedBy() BaseUser
- func (b Heading2Block) CreatedTime() time.Time
- func (b Heading2Block) HasChildren() bool
- func (b Heading2Block) ID() string
- func (b Heading2Block) LastEditedBy() BaseUser
- func (b Heading2Block) LastEditedTime() time.Time
- func (b Heading2Block) MarshalJSON() ([]byte, error)
- func (b Heading2Block) Parent() Parent
- type Heading3Block
- func (b Heading3Block) Archived() bool
- func (b Heading3Block) CreatedBy() BaseUser
- func (b Heading3Block) CreatedTime() time.Time
- func (b Heading3Block) HasChildren() bool
- func (b Heading3Block) ID() string
- func (b Heading3Block) LastEditedBy() BaseUser
- func (b Heading3Block) LastEditedTime() time.Time
- func (b Heading3Block) MarshalJSON() ([]byte, error)
- func (b Heading3Block) Parent() Parent
- type ID
- type Icon
- type IconType
- type ImageBlock
- func (b ImageBlock) Archived() bool
- func (b ImageBlock) CreatedBy() BaseUser
- func (b ImageBlock) CreatedTime() time.Time
- func (b ImageBlock) HasChildren() bool
- func (b ImageBlock) ID() string
- func (b ImageBlock) LastEditedBy() BaseUser
- func (b ImageBlock) LastEditedTime() time.Time
- func (b ImageBlock) MarshalJSON() ([]byte, error)
- func (b ImageBlock) Parent() Parent
- type Link
- type LinkPreview
- type LinkPreviewBlock
- func (b LinkPreviewBlock) Archived() bool
- func (b LinkPreviewBlock) CreatedBy() BaseUser
- func (b LinkPreviewBlock) CreatedTime() time.Time
- func (b LinkPreviewBlock) HasChildren() bool
- func (b LinkPreviewBlock) ID() string
- func (b LinkPreviewBlock) LastEditedBy() BaseUser
- func (b LinkPreviewBlock) LastEditedTime() time.Time
- func (b LinkPreviewBlock) MarshalJSON() ([]byte, error)
- func (b LinkPreviewBlock) Parent() Parent
- type LinkToPageBlock
- func (b LinkToPageBlock) Archived() bool
- func (b LinkToPageBlock) CreatedBy() BaseUser
- func (b LinkToPageBlock) CreatedTime() time.Time
- func (b LinkToPageBlock) HasChildren() bool
- func (b LinkToPageBlock) ID() string
- func (b LinkToPageBlock) LastEditedBy() BaseUser
- func (b LinkToPageBlock) LastEditedTime() time.Time
- func (b LinkToPageBlock) MarshalJSON() ([]byte, error)
- func (b LinkToPageBlock) Parent() Parent
- type LinkToPageType
- type ListUsersResponse
- type Mention
- type MentionType
- type MultiSelectDatabaseQueryFilter
- type NotionAuthPayload
- type NotionError
- type NumberDatabaseQueryFilter
- type NumberFormat
- type NumberMetadata
- type NumberedListItemBlock
- func (b NumberedListItemBlock) Archived() bool
- func (b NumberedListItemBlock) CreatedBy() BaseUser
- func (b NumberedListItemBlock) CreatedTime() time.Time
- func (b NumberedListItemBlock) HasChildren() bool
- func (b NumberedListItemBlock) ID() string
- func (b NumberedListItemBlock) LastEditedBy() BaseUser
- func (b NumberedListItemBlock) LastEditedTime() time.Time
- func (b NumberedListItemBlock) MarshalJSON() ([]byte, error)
- func (b NumberedListItemBlock) Parent() Parent
- type Owner
- type PDFBlock
- func (b PDFBlock) Archived() bool
- func (b PDFBlock) CreatedBy() BaseUser
- func (b PDFBlock) CreatedTime() time.Time
- func (b PDFBlock) HasChildren() bool
- func (b PDFBlock) ID() string
- func (b PDFBlock) LastEditedBy() BaseUser
- func (b PDFBlock) LastEditedTime() time.Time
- func (b PDFBlock) MarshalJSON() ([]byte, error)
- func (b PDFBlock) Parent() Parent
- type Page
- type PagePropItem
- type PagePropListItem
- type PagePropResponse
- type PageProperties
- type PageTitle
- type PaginationQuery
- type ParagraphBlock
- func (b ParagraphBlock) Archived() bool
- func (b ParagraphBlock) CreatedBy() BaseUser
- func (b ParagraphBlock) CreatedTime() time.Time
- func (b ParagraphBlock) HasChildren() bool
- func (b ParagraphBlock) ID() string
- func (b ParagraphBlock) LastEditedBy() BaseUser
- func (b ParagraphBlock) LastEditedTime() time.Time
- func (b ParagraphBlock) MarshalJSON() ([]byte, error)
- func (b ParagraphBlock) Parent() Parent
- type Parent
- type ParentType
- type People
- type PeopleDatabaseQueryFilter
- type Person
- type QuoteBlock
- func (b QuoteBlock) Archived() bool
- func (b QuoteBlock) CreatedBy() BaseUser
- func (b QuoteBlock) CreatedTime() time.Time
- func (b QuoteBlock) HasChildren() bool
- func (b QuoteBlock) ID() string
- func (b QuoteBlock) LastEditedBy() BaseUser
- func (b QuoteBlock) LastEditedTime() time.Time
- func (b QuoteBlock) MarshalJSON() ([]byte, error)
- func (b QuoteBlock) Parent() Parent
- 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
- func (b SyncedBlock) Archived() bool
- func (b SyncedBlock) CreatedBy() BaseUser
- func (b SyncedBlock) CreatedTime() time.Time
- func (b SyncedBlock) HasChildren() bool
- func (b SyncedBlock) ID() string
- func (b SyncedBlock) LastEditedBy() BaseUser
- func (b SyncedBlock) LastEditedTime() time.Time
- func (b SyncedBlock) MarshalJSON() ([]byte, error)
- func (b SyncedBlock) Parent() Parent
- type SyncedFrom
- type SyncedFromType
- type TableBlock
- func (b TableBlock) Archived() bool
- func (b TableBlock) CreatedBy() BaseUser
- func (b TableBlock) CreatedTime() time.Time
- func (b TableBlock) HasChildren() bool
- func (b TableBlock) ID() string
- func (b TableBlock) LastEditedBy() BaseUser
- func (b TableBlock) LastEditedTime() time.Time
- func (b TableBlock) MarshalJSON() ([]byte, error)
- func (b TableBlock) Parent() Parent
- type TableOfContentsBlock
- func (b TableOfContentsBlock) Archived() bool
- func (b TableOfContentsBlock) CreatedBy() BaseUser
- func (b TableOfContentsBlock) CreatedTime() time.Time
- func (b TableOfContentsBlock) HasChildren() bool
- func (b TableOfContentsBlock) ID() string
- func (b TableOfContentsBlock) LastEditedBy() BaseUser
- func (b TableOfContentsBlock) LastEditedTime() time.Time
- func (b TableOfContentsBlock) MarshalJSON() ([]byte, error)
- func (b TableOfContentsBlock) Parent() Parent
- type TableRowBlock
- func (b TableRowBlock) Archived() bool
- func (b TableRowBlock) CreatedBy() BaseUser
- func (b TableRowBlock) CreatedTime() time.Time
- func (b TableRowBlock) HasChildren() bool
- func (b TableRowBlock) ID() string
- func (b TableRowBlock) LastEditedBy() BaseUser
- func (b TableRowBlock) LastEditedTime() time.Time
- func (b TableRowBlock) MarshalJSON() ([]byte, error)
- func (b TableRowBlock) Parent() Parent
- type TemplateBlock
- func (b TemplateBlock) Archived() bool
- func (b TemplateBlock) CreatedBy() BaseUser
- func (b TemplateBlock) CreatedTime() time.Time
- func (b TemplateBlock) HasChildren() bool
- func (b TemplateBlock) ID() string
- func (b TemplateBlock) LastEditedBy() BaseUser
- func (b TemplateBlock) LastEditedTime() time.Time
- func (b TemplateBlock) MarshalJSON() ([]byte, error)
- func (b TemplateBlock) Parent() Parent
- type TemplateMention
- type TemplateMentionDateType
- type TemplateMentionType
- type TemplateMentionUserType
- type Text
- type TextPropertyFilter
- type Timestamp
- type ToDoBlock
- func (b ToDoBlock) Archived() bool
- func (b ToDoBlock) CreatedBy() BaseUser
- func (b ToDoBlock) CreatedTime() time.Time
- func (b ToDoBlock) HasChildren() bool
- func (b ToDoBlock) ID() string
- func (b ToDoBlock) LastEditedBy() BaseUser
- func (b ToDoBlock) LastEditedTime() time.Time
- func (b ToDoBlock) MarshalJSON() ([]byte, error)
- func (b ToDoBlock) Parent() Parent
- type ToggleBlock
- func (b ToggleBlock) Archived() bool
- func (b ToggleBlock) CreatedBy() BaseUser
- func (b ToggleBlock) CreatedTime() time.Time
- func (b ToggleBlock) HasChildren() bool
- func (b ToggleBlock) ID() string
- func (b ToggleBlock) LastEditedBy() BaseUser
- func (b ToggleBlock) LastEditedTime() time.Time
- func (b ToggleBlock) MarshalJSON() ([]byte, error)
- func (b ToggleBlock) Parent() Parent
- type UpdateDatabaseParams
- type UpdatePageParams
- type User
- type UserType
- type VideoBlock
- func (b VideoBlock) Archived() bool
- func (b VideoBlock) CreatedBy() BaseUser
- func (b VideoBlock) CreatedTime() time.Time
- func (b VideoBlock) HasChildren() bool
- func (b VideoBlock) ID() string
- func (b VideoBlock) LastEditedBy() BaseUser
- func (b VideoBlock) LastEditedTime() time.Time
- func (b VideoBlock) MarshalJSON() ([]byte, error)
- func (b VideoBlock) Parent() Parent
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 App ¶ added in v0.7.2
func InitNotionApp ¶ added in v0.7.2
type AuthResponse ¶
type AuthResponse struct { AccessToken string `json:"access_token"` TokenType string `json:"token_type"` BotID string `json:"bot_id"` WorkspaceName *string `json:"workspace_name"` WorkspaceIcon *string `json:"workspace_icon"` WorkspaceID string `json:"workspace_id"` Owner Owner `json:"owner"` }
AuthResponse is the response from the notion authentication endpoint.
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() BaseUser LastEditedBy() BaseUser LastEditedTime() time.Time HasChildren() bool Archived() bool json.Marshaler }
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 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" 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 BookmarkBlock struct { URL string `json:"url"` Caption []RichText `json:"caption,omitempty"` // contains filtered or unexported fields }
func (BookmarkBlock) CreatedTime ¶
func (BookmarkBlock) HasChildren ¶
func (b BookmarkBlock) HasChildren() bool
func (BookmarkBlock) ID ¶
func (b BookmarkBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (BookmarkBlock) LastEditedBy ¶
func (b BookmarkBlock) LastEditedBy() BaseUser
func (BookmarkBlock) LastEditedTime ¶
func (BookmarkBlock) MarshalJSON ¶
func (b BookmarkBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
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 {
// contains filtered or unexported fields
}
func (BreadcrumbBlock) CreatedTime ¶
func (BreadcrumbBlock) HasChildren ¶
func (b BreadcrumbBlock) HasChildren() bool
func (BreadcrumbBlock) ID ¶
func (b BreadcrumbBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (BreadcrumbBlock) LastEditedBy ¶
func (b BreadcrumbBlock) LastEditedBy() BaseUser
func (BreadcrumbBlock) LastEditedTime ¶
func (BreadcrumbBlock) MarshalJSON ¶
func (b BreadcrumbBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type BulletedListItemBlock ¶
type BulletedListItemBlock struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` Color Color `json:"color,omitempty"` // contains filtered or unexported fields }
func (BulletedListItemBlock) CreatedTime ¶
func (BulletedListItemBlock) HasChildren ¶
func (b BulletedListItemBlock) HasChildren() bool
func (BulletedListItemBlock) ID ¶
func (b BulletedListItemBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (BulletedListItemBlock) LastEditedBy ¶
func (b BulletedListItemBlock) LastEditedBy() BaseUser
func (BulletedListItemBlock) LastEditedTime ¶
func (BulletedListItemBlock) MarshalJSON ¶
func (b BulletedListItemBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type CalloutBlock ¶
type CalloutBlock struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` Icon *Icon `json:"icon,omitempty"` Color Color `json:"color,omitempty"` // contains filtered or unexported fields }
func (CalloutBlock) CreatedTime ¶
func (CalloutBlock) HasChildren ¶
func (b CalloutBlock) HasChildren() bool
func (CalloutBlock) ID ¶
func (b CalloutBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (CalloutBlock) LastEditedBy ¶
func (b CalloutBlock) LastEditedBy() BaseUser
func (CalloutBlock) LastEditedTime ¶
func (CalloutBlock) MarshalJSON ¶
func (b CalloutBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type ChildDatabaseBlock ¶
type ChildDatabaseBlock struct { Title string `json:"title"` // contains filtered or unexported fields }
func (ChildDatabaseBlock) CreatedTime ¶
func (ChildDatabaseBlock) HasChildren ¶
func (b ChildDatabaseBlock) HasChildren() bool
func (ChildDatabaseBlock) ID ¶
func (b ChildDatabaseBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (ChildDatabaseBlock) LastEditedBy ¶
func (b ChildDatabaseBlock) LastEditedBy() BaseUser
func (ChildDatabaseBlock) LastEditedTime ¶
func (ChildDatabaseBlock) MarshalJSON ¶
func (b ChildDatabaseBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type ChildPageBlock ¶
type ChildPageBlock struct { Title string `json:"title"` // contains filtered or unexported fields }
func (ChildPageBlock) CreatedTime ¶
func (ChildPageBlock) HasChildren ¶
func (b ChildPageBlock) HasChildren() bool
func (ChildPageBlock) ID ¶
func (b ChildPageBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (ChildPageBlock) LastEditedBy ¶
func (b ChildPageBlock) LastEditedBy() BaseUser
func (ChildPageBlock) LastEditedTime ¶
func (ChildPageBlock) MarshalJSON ¶
func (b ChildPageBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
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 ¶ added in v0.8.0
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 ¶ added in v0.8.0
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 CodeBlock ¶
type CodeBlock struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` Caption []RichText `json:"caption,omitempty"` Language *string `json:"language,omitempty"` // contains filtered or unexported fields }
func (CodeBlock) CreatedTime ¶
func (CodeBlock) HasChildren ¶
func (b CodeBlock) HasChildren() bool
func (CodeBlock) ID ¶
func (b CodeBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (CodeBlock) LastEditedBy ¶
func (b CodeBlock) LastEditedBy() BaseUser
func (CodeBlock) LastEditedTime ¶
func (CodeBlock) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
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"` // contains filtered or unexported fields }
func (ColumnBlock) CreatedTime ¶
func (ColumnBlock) HasChildren ¶
func (b ColumnBlock) HasChildren() bool
func (ColumnBlock) ID ¶
func (b ColumnBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (ColumnBlock) LastEditedBy ¶
func (b ColumnBlock) LastEditedBy() BaseUser
func (ColumnBlock) LastEditedTime ¶
func (ColumnBlock) MarshalJSON ¶
func (b ColumnBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type ColumnListBlock ¶
type ColumnListBlock struct { Children []ColumnBlock `json:"children,omitempty"` // contains filtered or unexported fields }
func (ColumnListBlock) CreatedTime ¶
func (ColumnListBlock) HasChildren ¶
func (b ColumnListBlock) HasChildren() bool
func (ColumnListBlock) ID ¶
func (b ColumnListBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (ColumnListBlock) LastEditedBy ¶
func (b ColumnListBlock) LastEditedBy() BaseUser
func (ColumnListBlock) LastEditedTime ¶
func (ColumnListBlock) MarshalJSON ¶
func (b ColumnListBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type Comment ¶ added in v0.8.0
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 ¶ added in v0.8.0
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 ¶ added in v0.8.0
func (p CreateCommentParams) MarshalJSON() ([]byte, error)
func (CreateCommentParams) Validate ¶ added in v0.8.0
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 {
// contains filtered or unexported fields
}
func (DividerBlock) CreatedTime ¶
func (DividerBlock) HasChildren ¶
func (b DividerBlock) HasChildren() bool
func (DividerBlock) ID ¶
func (b DividerBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (DividerBlock) LastEditedBy ¶
func (b DividerBlock) LastEditedBy() BaseUser
func (DividerBlock) LastEditedTime ¶
func (DividerBlock) MarshalJSON ¶
func (b DividerBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type DualPropertyRelation ¶ added in v0.7.0
type EmbedBlock ¶
type EmbedBlock struct { URL string `json:"url"` // contains filtered or unexported fields }
func (EmbedBlock) CreatedTime ¶
func (EmbedBlock) HasChildren ¶
func (b EmbedBlock) HasChildren() bool
func (EmbedBlock) ID ¶
func (b EmbedBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (EmbedBlock) LastEditedBy ¶
func (b EmbedBlock) LastEditedBy() BaseUser
func (EmbedBlock) LastEditedTime ¶
func (EmbedBlock) MarshalJSON ¶
func (b EmbedBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type EquationBlock ¶
type EquationBlock struct { Expression string `json:"expression"` // contains filtered or unexported fields }
func (EquationBlock) CreatedTime ¶
func (EquationBlock) HasChildren ¶
func (b EquationBlock) HasChildren() bool
func (EquationBlock) ID ¶
func (b EquationBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (EquationBlock) LastEditedBy ¶
func (b EquationBlock) LastEditedBy() BaseUser
func (EquationBlock) LastEditedTime ¶
func (EquationBlock) MarshalJSON ¶
func (b EquationBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
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"` // contains filtered or unexported fields }
func (FileBlock) CreatedTime ¶
func (FileBlock) HasChildren ¶
func (b FileBlock) HasChildren() bool
func (FileBlock) ID ¶
func (b FileBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (FileBlock) LastEditedBy ¶
func (b FileBlock) LastEditedBy() BaseUser
func (FileBlock) LastEditedTime ¶
func (FileBlock) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
type FileExternal ¶
type FileExternal struct {
URL string `json:"url"`
}
type FindCommentsByBlockIDQuery ¶ added in v0.8.0
FindCommentsByBlockIDQuery is used when listing comments.
type FindCommentsResponse ¶ added in v0.8.0
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 Heading1Block struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` Color Color `json:"color,omitempty"` IsToggleable bool `json:"is_toggleable"` // contains filtered or unexported fields }
func (Heading1Block) CreatedTime ¶
func (Heading1Block) HasChildren ¶
func (b Heading1Block) HasChildren() bool
func (Heading1Block) ID ¶
func (b Heading1Block) ID() string
ID returns the identifier (UUIDv4) for the block.
func (Heading1Block) LastEditedBy ¶
func (b Heading1Block) LastEditedBy() BaseUser
func (Heading1Block) LastEditedTime ¶
func (Heading1Block) MarshalJSON ¶
func (b Heading1Block) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type Heading2Block ¶
type Heading2Block struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` Color Color `json:"color,omitempty"` IsToggleable bool `json:"is_toggleable"` // contains filtered or unexported fields }
func (Heading2Block) CreatedTime ¶
func (Heading2Block) HasChildren ¶
func (b Heading2Block) HasChildren() bool
func (Heading2Block) ID ¶
func (b Heading2Block) ID() string
ID returns the identifier (UUIDv4) for the block.
func (Heading2Block) LastEditedBy ¶
func (b Heading2Block) LastEditedBy() BaseUser
func (Heading2Block) LastEditedTime ¶
func (Heading2Block) MarshalJSON ¶
func (b Heading2Block) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type Heading3Block ¶
type Heading3Block struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` Color Color `json:"color,omitempty"` IsToggleable bool `json:"is_toggleable"` // contains filtered or unexported fields }
func (Heading3Block) CreatedTime ¶
func (Heading3Block) HasChildren ¶
func (b Heading3Block) HasChildren() bool
func (Heading3Block) ID ¶
func (b Heading3Block) ID() string
ID returns the identifier (UUIDv4) for the block.
func (Heading3Block) LastEditedBy ¶
func (b Heading3Block) LastEditedBy() BaseUser
func (Heading3Block) LastEditedTime ¶
func (Heading3Block) MarshalJSON ¶
func (b Heading3Block) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
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"` // contains filtered or unexported fields }
func (ImageBlock) CreatedTime ¶
func (ImageBlock) HasChildren ¶
func (b ImageBlock) HasChildren() bool
func (ImageBlock) ID ¶
func (b ImageBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (ImageBlock) LastEditedBy ¶
func (b ImageBlock) LastEditedBy() BaseUser
func (ImageBlock) LastEditedTime ¶
func (ImageBlock) MarshalJSON ¶
func (b ImageBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type LinkPreview ¶
type LinkPreview struct {
URL string `json:"url"`
}
type LinkPreviewBlock ¶
type LinkPreviewBlock struct { URL string `json:"url"` // contains filtered or unexported fields }
func (LinkPreviewBlock) CreatedTime ¶
func (LinkPreviewBlock) HasChildren ¶
func (b LinkPreviewBlock) HasChildren() bool
func (LinkPreviewBlock) ID ¶
func (b LinkPreviewBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (LinkPreviewBlock) LastEditedBy ¶
func (b LinkPreviewBlock) LastEditedBy() BaseUser
func (LinkPreviewBlock) LastEditedTime ¶
func (LinkPreviewBlock) MarshalJSON ¶
func (b LinkPreviewBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type LinkToPageBlock ¶
type LinkToPageBlock struct { Type LinkToPageType `json:"type"` PageID string `json:"page_id,omitempty"` DatabaseID string `json:"database_id,omitempty"` // contains filtered or unexported fields }
func (LinkToPageBlock) CreatedTime ¶
func (LinkToPageBlock) HasChildren ¶
func (b LinkToPageBlock) HasChildren() bool
func (LinkToPageBlock) ID ¶
func (b LinkToPageBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (LinkToPageBlock) LastEditedBy ¶
func (b LinkToPageBlock) LastEditedBy() BaseUser
func (LinkToPageBlock) LastEditedTime ¶
func (LinkToPageBlock) MarshalJSON ¶
func (b LinkToPageBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
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 NotionAuthPayload ¶ added in v0.7.0
type NotionAuthPayload struct { GrantType string `json:"grant_type"` Code string `json:"code"` RedirectURI string `json:"redirect_uri"` }
NotionAuthPayload is the payload for the notion authentication endpoint.
type NotionError ¶
type NotionError struct {
Error string `json:"error"`
}
NotionError is the error response from the Notion API.
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 NumberedListItemBlock struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` Color Color `json:"color,omitempty"` // contains filtered or unexported fields }
func (NumberedListItemBlock) CreatedTime ¶
func (NumberedListItemBlock) HasChildren ¶
func (b NumberedListItemBlock) HasChildren() bool
func (NumberedListItemBlock) ID ¶
func (b NumberedListItemBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (NumberedListItemBlock) LastEditedBy ¶
func (b NumberedListItemBlock) LastEditedBy() BaseUser
func (NumberedListItemBlock) LastEditedTime ¶
func (NumberedListItemBlock) MarshalJSON ¶
func (b NumberedListItemBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type PDFBlock ¶
type PDFBlock struct { Type FileType `json:"type"` File *FileFile `json:"file,omitempty"` External *FileExternal `json:"external,omitempty"` Caption []RichText `json:"caption,omitempty"` // contains filtered or unexported fields }
func (PDFBlock) CreatedTime ¶
func (PDFBlock) HasChildren ¶
func (b PDFBlock) HasChildren() bool
func (PDFBlock) ID ¶
func (b PDFBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (PDFBlock) LastEditedBy ¶
func (b PDFBlock) LastEditedBy() BaseUser
func (PDFBlock) LastEditedTime ¶
func (PDFBlock) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
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 ParagraphBlock struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` Color Color `json:"color,omitempty"` // contains filtered or unexported fields }
func (ParagraphBlock) CreatedTime ¶
func (ParagraphBlock) HasChildren ¶
func (b ParagraphBlock) HasChildren() bool
func (ParagraphBlock) ID ¶
func (b ParagraphBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (ParagraphBlock) LastEditedBy ¶
func (b ParagraphBlock) LastEditedBy() BaseUser
func (ParagraphBlock) LastEditedTime ¶
func (ParagraphBlock) MarshalJSON ¶
func (b ParagraphBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
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 QuoteBlock struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` Color Color `json:"color,omitempty"` // contains filtered or unexported fields }
func (QuoteBlock) CreatedTime ¶
func (QuoteBlock) HasChildren ¶
func (b QuoteBlock) HasChildren() bool
func (QuoteBlock) ID ¶
func (b QuoteBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (QuoteBlock) LastEditedBy ¶
func (b QuoteBlock) LastEditedBy() BaseUser
func (QuoteBlock) LastEditedTime ¶
func (QuoteBlock) MarshalJSON ¶
func (b QuoteBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
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 ¶ added in v0.7.0
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 StatusDatabaseQueryFilter ¶ added in v0.8.0
type StatusGroup ¶ added in v0.8.0
type StatusMetadata ¶ added in v0.8.0
type StatusMetadata struct { Options []SelectOptions `json:"options"` Groups []StatusGroup `json:"groups"` }
Database property metadata types.
type SyncedBlock ¶
type SyncedBlock struct { SyncedFrom *SyncedFrom `json:"synced_from"` Children []Block `json:"children,omitempty"` // contains filtered or unexported fields }
func (SyncedBlock) CreatedTime ¶
func (SyncedBlock) HasChildren ¶
func (b SyncedBlock) HasChildren() bool
func (SyncedBlock) ID ¶
func (b SyncedBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (SyncedBlock) LastEditedBy ¶
func (b SyncedBlock) LastEditedBy() BaseUser
func (SyncedBlock) LastEditedTime ¶
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 TableBlock struct { TableWidth int `json:"table_width"` HasColumnHeader bool `json:"has_column_header"` HasRowHeader bool `json:"has_row_header"` Children []Block `json:"children,omitempty"` // contains filtered or unexported fields }
func (TableBlock) CreatedTime ¶
func (TableBlock) HasChildren ¶
func (b TableBlock) HasChildren() bool
func (TableBlock) ID ¶
func (b TableBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (TableBlock) LastEditedBy ¶
func (b TableBlock) LastEditedBy() BaseUser
func (TableBlock) LastEditedTime ¶
func (TableBlock) MarshalJSON ¶
func (b TableBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type TableOfContentsBlock ¶
type TableOfContentsBlock struct { Color Color `json:"color,omitempty"` // contains filtered or unexported fields }
func (TableOfContentsBlock) CreatedTime ¶
func (TableOfContentsBlock) HasChildren ¶
func (b TableOfContentsBlock) HasChildren() bool
func (TableOfContentsBlock) ID ¶
func (b TableOfContentsBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (TableOfContentsBlock) LastEditedBy ¶
func (b TableOfContentsBlock) LastEditedBy() BaseUser
func (TableOfContentsBlock) LastEditedTime ¶
func (TableOfContentsBlock) MarshalJSON ¶
func (b TableOfContentsBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type TableRowBlock ¶
type TableRowBlock struct { Cells [][]RichText `json:"cells"` // contains filtered or unexported fields }
func (TableRowBlock) CreatedTime ¶
func (TableRowBlock) HasChildren ¶
func (b TableRowBlock) HasChildren() bool
func (TableRowBlock) ID ¶
func (b TableRowBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (TableRowBlock) LastEditedBy ¶
func (b TableRowBlock) LastEditedBy() BaseUser
func (TableRowBlock) LastEditedTime ¶
func (TableRowBlock) MarshalJSON ¶
func (b TableRowBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
type TemplateBlock ¶
type TemplateBlock struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` // contains filtered or unexported fields }
func (TemplateBlock) CreatedTime ¶
func (TemplateBlock) HasChildren ¶
func (b TemplateBlock) HasChildren() bool
func (TemplateBlock) ID ¶
func (b TemplateBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (TemplateBlock) LastEditedBy ¶
func (b TemplateBlock) LastEditedBy() BaseUser
func (TemplateBlock) LastEditedTime ¶
func (TemplateBlock) MarshalJSON ¶
func (b TemplateBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
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 ToDoBlock ¶
type ToDoBlock struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` Checked *bool `json:"checked,omitempty"` Color Color `json:"color,omitempty"` // contains filtered or unexported fields }
func (ToDoBlock) CreatedTime ¶
func (ToDoBlock) HasChildren ¶
func (b ToDoBlock) HasChildren() bool
func (ToDoBlock) ID ¶
func (b ToDoBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (ToDoBlock) LastEditedBy ¶
func (b ToDoBlock) LastEditedBy() BaseUser
func (ToDoBlock) LastEditedTime ¶
func (ToDoBlock) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
type ToggleBlock ¶
type ToggleBlock struct { RichText []RichText `json:"rich_text"` Children []Block `json:"children,omitempty"` Color Color `json:"color,omitempty"` // contains filtered or unexported fields }
func (ToggleBlock) CreatedTime ¶
func (ToggleBlock) HasChildren ¶
func (b ToggleBlock) HasChildren() bool
func (ToggleBlock) ID ¶
func (b ToggleBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (ToggleBlock) LastEditedBy ¶
func (b ToggleBlock) LastEditedBy() BaseUser
func (ToggleBlock) LastEditedTime ¶
func (ToggleBlock) MarshalJSON ¶
func (b ToggleBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
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"` // contains filtered or unexported fields }
func (VideoBlock) CreatedTime ¶
func (VideoBlock) HasChildren ¶
func (b VideoBlock) HasChildren() bool
func (VideoBlock) ID ¶
func (b VideoBlock) ID() string
ID returns the identifier (UUIDv4) for the block.
func (VideoBlock) LastEditedBy ¶
func (b VideoBlock) LastEditedBy() BaseUser
func (VideoBlock) LastEditedTime ¶
func (VideoBlock) MarshalJSON ¶
func (b VideoBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.