Documentation
¶
Index ¶
- type Annotations
- type AppendBlockChildrenRequest
- type Block
- type BlockClient
- type BlockID
- type BlockService
- type BlockType
- type Bot
- type BulletedListItemBlock
- type CheckboxFilterCondition
- type CheckboxProperty
- type ChildPageBlock
- type Client
- type ClientOption
- type Color
- type CompoundFilter
- type Condition
- type CreatedByProperty
- type CreatedTimeProperty
- type Cursor
- type Database
- type DatabaseClient
- func (dc *DatabaseClient) Get(ctx context.Context, id DatabaseID) (*Database, error)
- func (dc *DatabaseClient) List(ctx context.Context, pagination *Pagination) (*DatabaseListResponse, error)
- func (dc *DatabaseClient) Query(ctx context.Context, id DatabaseID, requestBody *DatabaseQueryRequest) (*DatabaseQueryResponse, error)
- type DatabaseID
- type DatabaseListResponse
- type DatabaseQueryRequest
- type DatabaseQueryResponse
- type DatabaseService
- type DatabaseTitleProperty
- type Date
- type DateFilterCondition
- type DateProperty
- type EmailProperty
- type EmptyRichTextProperty
- type Error
- type ErrorCode
- type FileProperty
- type FilesFilterCondition
- type FilterOperator
- type FormatType
- type FormulaFilterCondition
- type FormulaObject
- type FormulaProperty
- type FunctionType
- type GetChildrenResponse
- type Heading1Block
- type Heading2Block
- type Heading3Block
- type LastEditedByProperty
- type LastEditedTimeProperty
- type MultiSelectFilterCondition
- type MultiSelectOptionsProperty
- type MultiSelectProperty
- type NumberFilterCondition
- type NumberProperty
- type NumberedListItemBlock
- type Object
- type ObjectID
- type ObjectType
- type Option
- type Page
- type PageClient
- type PageCreateRequest
- type PageID
- type PageService
- type PageTitleProperty
- type PageUpdateRequest
- type Pagination
- type Paragraph
- type ParagraphBlock
- type Parent
- type ParentType
- type PeopleFilterCondition
- type PeopleProperty
- type Person
- type PhoneNumberProperty
- type Properties
- type Property
- type PropertyFilter
- type PropertyID
- type PropertyType
- type Relation
- type RelationFilterCondition
- type RelationObject
- type RelationProperty
- type RichText
- type RichTextProperty
- type Rollup
- type RollupProperty
- type SearchClient
- type SearchRequest
- type SearchResponse
- type SearchService
- type Select
- type SelectFilterCondition
- type SelectOptionProperty
- type SelectProperty
- type SortObject
- type SortOrder
- type Text
- type TextFilterCondition
- type TextProperty
- type TimestampType
- type ToDoBlock
- type ToggleBlock
- type Token
- type URLProperty
- type User
- type UserClient
- type UserID
- type UserService
- type UserType
- type UsersListResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Annotations ¶
type AppendBlockChildrenRequest ¶
type AppendBlockChildrenRequest struct {
Children []Block `json:"children"`
}
type BlockClient ¶
type BlockClient struct {
// contains filtered or unexported fields
}
func (*BlockClient) AppendChildren ¶
func (bc *BlockClient) AppendChildren(ctx context.Context, id BlockID, requestBody *AppendBlockChildrenRequest) (Block, error)
AppendChildren https://developers.notion.com/reference/patch-block-children
func (*BlockClient) GetChildren ¶
func (bc *BlockClient) GetChildren(ctx context.Context, id BlockID, pagination *Pagination) (*GetChildrenResponse, error)
GetChildren https://developers.notion.com/reference/get-block-children
type BlockService ¶
type BlockService interface { GetChildren(context.Context, BlockID, *Pagination) (*GetChildrenResponse, error) AppendChildren(context.Context, BlockID, *AppendBlockChildrenRequest) (Block, 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" BlockTypeUnsupported BlockType = "unsupported" )
type BulletedListItemBlock ¶
type BulletedListItemBlock struct { Object ObjectType `json:"object"` ID BlockID `json:"id,omitempty"` Type BlockType `json:"type"` CreatedTime *time.Time `json:"created_time,omitempty"` LastEditedTime *time.Time `json:"last_edited_time,omitempty"` HasChildren bool `json:"has_children,omitempty"` BulletedListItem struct { Text Paragraph `json:"text"` Children []Block `json:"children"` } `json:"bulleted_list_item"` }
func (*BulletedListItemBlock) GetType ¶
func (b *BulletedListItemBlock) GetType() BlockType
type CheckboxFilterCondition ¶ added in v1.2.0
type CheckboxProperty ¶
type CheckboxProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` Checkbox interface{} `json:"checkbox"` }
func (CheckboxProperty) GetType ¶
func (p CheckboxProperty) GetType() PropertyType
type ChildPageBlock ¶
type ChildPageBlock struct { Object ObjectType `json:"object"` ID BlockID `json:"id,omitempty"` Type BlockType `json:"type"` CreatedTime *time.Time `json:"created_time,omitempty"` LastEditedTime *time.Time `json:"last_edited_time,omitempty"` HasChildren bool `json:"has_children,omitempty"` ChildPage struct { Title string `json:"title"` } `json:"child_page"` }
func (*ChildPageBlock) GetType ¶
func (b *ChildPageBlock) GetType() BlockType
type Client ¶
type Client struct { Token Token Database DatabaseService Block BlockService Page PageService User UserService Search SearchService // contains filtered or unexported fields }
func NewClient ¶
func NewClient(token Token, opts ...ClientOption) *Client
type ClientOption ¶
type ClientOption func(*Client)
ClientOption to configure API client
func WithHTTPClient ¶
func WithHTTPClient(client *http.Client) ClientOption
WithHTTPClient overrides the default http.Client
func WithVersion ¶
func WithVersion(version string) ClientOption
WithVersion overrides the Notion API version
type CompoundFilter ¶
type CompoundFilter map[FilterOperator][]PropertyFilter
type Condition ¶
type Condition string
const ( ConditionEquals Condition = "equals" ConditionDoesNotEqual Condition = "does_not_equal" ConditionContains Condition = "contains" ConditionDoesNotContain Condition = "does_not_contain" ConditionDoesStartsWith Condition = "starts_with" ConditionDoesEndsWith Condition = "ends_with" ConditionDoesIsEmpty Condition = "is_empty" ConditionGreaterThan Condition = "greater_than" ConditionLessThan Condition = "less_than" ConditionGreaterThanOrEqualTo Condition = "greater_than_or_equal_to" ConditionLessThanOrEqualTo Condition = "greater_than_or_equal_to" ConditionBefore Condition = "before" ConditionAfter Condition = "after" ConditionOnOrBefore Condition = "on_or_before" ConditionOnOrAfter Condition = "on_or_after" ConditionPastWeek Condition = "past_week" ConditionPastMonth Condition = "past_month" ConditionPastYear Condition = "past_year" ConditionNextWeek Condition = "next_week" ConditionNextMonth Condition = "next_month" ConditionNextYear Condition = "next_year" ConditionText Condition = "text" ConditionCheckbox Condition = "checkbox" ConditionNumber Condition = "number" ConditionDate Condition = "date" )
type CreatedByProperty ¶
type CreatedByProperty struct { ID ObjectID `json:"id"` Type PropertyType `json:"type"` CreatedBy interface{} `json:"created_by"` }
func (CreatedByProperty) GetType ¶
func (p CreatedByProperty) GetType() PropertyType
type CreatedTimeProperty ¶
type CreatedTimeProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` CreatedTime interface{} `json:"created_time"` }
func (CreatedTimeProperty) GetType ¶
func (p CreatedTimeProperty) GetType() PropertyType
type Database ¶
type Database struct { Object ObjectType `json:"object"` ID ObjectID `json:"id"` CreatedTime time.Time `json:"created_time"` LastEditedTime time.Time `json:"last_edited_time"` Title Paragraph `json:"title"` Properties Properties `json:"properties"` }
func (*Database) GetObject ¶
func (db *Database) GetObject() ObjectType
type DatabaseClient ¶
type DatabaseClient struct {
// contains filtered or unexported fields
}
func (*DatabaseClient) Get ¶
func (dc *DatabaseClient) Get(ctx context.Context, id DatabaseID) (*Database, error)
func (*DatabaseClient) List ¶
func (dc *DatabaseClient) List(ctx context.Context, pagination *Pagination) (*DatabaseListResponse, error)
func (*DatabaseClient) Query ¶
func (dc *DatabaseClient) Query(ctx context.Context, id DatabaseID, requestBody *DatabaseQueryRequest) (*DatabaseQueryResponse, error)
Query https://developers.notion.com/reference/post-database-query
type DatabaseID ¶
type DatabaseID string
func (DatabaseID) String ¶
func (dID DatabaseID) String() string
type DatabaseListResponse ¶
type DatabaseListResponse struct { Object ObjectType `json:"object"` Results []Database `json:"results"` NextCursor string `json:"next_cursor"` HasMore bool `json:"has_more"` }
type DatabaseQueryRequest ¶
type DatabaseQueryRequest struct { PropertyFilter *PropertyFilter CompoundFilter *CompoundFilter Sorts []SortObject `json:"sorts,omitempty"` StartCursor Cursor `json:"start_cursor,omitempty"` PageSize int `json:"page_size,omitempty"` }
func (*DatabaseQueryRequest) MarshalJSON ¶ added in v1.2.0
func (qr *DatabaseQueryRequest) MarshalJSON() ([]byte, error)
type DatabaseQueryResponse ¶
type DatabaseQueryResponse struct { Object ObjectType `json:"object"` Results []Page `json:"results"` HasMore bool `json:"has_more"` NextCursor Cursor `json:"next_cursor"` }
type DatabaseService ¶
type DatabaseService interface { Get(context.Context, DatabaseID) (*Database, error) List(context.Context, *Pagination) (*DatabaseListResponse, error) Query(context.Context, DatabaseID, *DatabaseQueryRequest) (*DatabaseQueryResponse, error) }
type DatabaseTitleProperty ¶
type DatabaseTitleProperty struct { ID PropertyID `json:"id,omitempty"` Type PropertyType `json:"type"` Title RichText `json:"title"` }
func (DatabaseTitleProperty) GetType ¶
func (p DatabaseTitleProperty) GetType() PropertyType
type Date ¶ added in v1.2.0
func (*Date) MarshalText ¶ added in v1.2.0
type DateFilterCondition ¶ added in v1.2.0
type DateFilterCondition struct { Equals *Date `json:"equals,omitempty"` Before *Date `json:"before,omitempty"` After *Date `json:"after,omitempty"` OnOrBefore *Date `json:"on_or_before,omitempty"` OnOrAfter *Date `json:"on_or_after,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"` IsEmpty bool `json:"is_empty,omitempty"` IsNotEmpty bool `json:"is_not_empty,omitempty"` }
type DateProperty ¶
type DateProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` Date interface{} `json:"date"` }
func (DateProperty) GetType ¶
func (p DateProperty) GetType() PropertyType
type EmailProperty ¶
type EmailProperty struct { ID PropertyID `json:"id,omitempty"` Type PropertyType `json:"type"` Email interface{} `json:"email"` }
func (EmailProperty) GetType ¶
func (p EmailProperty) GetType() PropertyType
type EmptyRichTextProperty ¶
type EmptyRichTextProperty struct { ID PropertyID `json:"id,omitempty"` Type PropertyType `json:"type"` RichText struct{} `json:"rich_text"` }
func (EmptyRichTextProperty) GetType ¶
func (p EmptyRichTextProperty) GetType() PropertyType
type Error ¶
type Error struct { Object ObjectType `json:"object"` Status int `json:"status"` Code ErrorCode `json:"code"` Message string `json:"message"` }
type FileProperty ¶
type FileProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` File interface{} `json:"file"` }
func (FileProperty) GetType ¶
func (p FileProperty) GetType() PropertyType
type FilesFilterCondition ¶ added in v1.2.0
type FilterOperator ¶
type FilterOperator string
const ( FilterOperatorAND FilterOperator = "and" FilterOperatorOR FilterOperator = "or" )
type FormatType ¶
type FormatType string
const ( FormatNumber FormatType = "number" FormatNumberWithCommas FormatType = "number_with_commas" FormatPercent FormatType = "percent" FormatDollar FormatType = "dollar" FormatEuro FormatType = "euro" FormatPound FormatType = "pound" FormatYen FormatType = "yen" FormatRuble FormatType = "ruble" FormatRupee FormatType = "rupee" FormatYuan FormatType = "yuan" FormatHongKongDollar FormatType = "hong_kong_dollar" FormatNewZealandDollar FormatType = "hong_kong_dollar" FormatKrona FormatType = "krona" FormatNorwegianKrone FormatType = "norwegian_krone" FormatMexicanPeso FormatType = "mexican_peso" FormatRand FormatType = "rand" FormatNewTaiwanDollar FormatType = "new_taiwan_dollar" FormatDanishKrone FormatType = "danish_krone" FormatZloty FormatType = "zloty" FormatBath FormatType = "baht" FormatForint FormatType = "forint" FormatKoruna FormatType = "koruna" FormatShekel FormatType = "shekel" FormatChileanPeso FormatType = "chilean_peso" FormatPhilippinePeso FormatType = "philippine_peso" FormatDirham FormatType = "dirham" FormatColombianPeso FormatType = "colombian_peso" FormatRiyal FormatType = "riyal" FormatRinggit FormatType = "ringgit" FormatLeu FormatType = "leu" )
func (FormatType) String ¶
func (ft FormatType) String() string
type FormulaFilterCondition ¶ added in v1.2.0
type FormulaFilterCondition struct { Text *TextFilterCondition `json:"text,omitempty"` Checkbox *CheckboxFilterCondition `json:"checkbox,omitempty"` Number *NumberFilterCondition `json:"number,omitempty"` Date *DateFilterCondition `json:"date,omitempty"` }
type FormulaObject ¶
type FormulaObject struct {
Value string `json:"value"`
}
type FormulaProperty ¶
type FormulaProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` Expression string `json:"expression"` }
func (FormulaProperty) GetType ¶
func (p FormulaProperty) GetType() PropertyType
type FunctionType ¶
type FunctionType string
const ( FunctionCountAll FunctionType = "count_all" FunctionCountValues FunctionType = "count_values" FunctionCountUniqueValues FunctionType = "count_unique_values" FunctionCountEmpty FunctionType = "count_empty" FunctionCountNotEmpty FunctionType = "count_not_empty" FunctionPercentEmpty FunctionType = "percent_empty" FunctionPercentNotEmpty FunctionType = "percent_not_empty" FunctionSum FunctionType = "sum" FunctionAverage FunctionType = "average" FunctionMedian FunctionType = "median" FunctionMin FunctionType = "min" FunctionMax FunctionType = "max" FunctionRange FunctionType = "range" )
func (FunctionType) String ¶
func (ft FunctionType) String() string
type GetChildrenResponse ¶
type GetChildrenResponse struct { Object ObjectType `json:"object"` Results []Block `json:"results"` }
type Heading1Block ¶
type Heading1Block struct { Object ObjectType `json:"object"` ID BlockID `json:"id,omitempty"` Type BlockType `json:"type"` CreatedTime *time.Time `json:"created_time,omitempty"` LastEditedTime *time.Time `json:"last_edited_time,omitempty"` HasChildren bool `json:"has_children,omitempty"` Heading1 struct { Text Paragraph `json:"text"` } `json:"heading_1"` }
func (*Heading1Block) GetType ¶
func (b *Heading1Block) GetType() BlockType
type Heading2Block ¶
type Heading2Block struct { Object ObjectType `json:"object"` ID BlockID `json:"id,omitempty"` Type BlockType `json:"type"` CreatedTime *time.Time `json:"created_time,omitempty"` LastEditedTime *time.Time `json:"last_edited_time,omitempty"` HasChildren bool `json:"has_children,omitempty"` Heading2 struct { Text Paragraph `json:"text"` } `json:"heading_2"` }
func (*Heading2Block) GetType ¶
func (b *Heading2Block) GetType() BlockType
type Heading3Block ¶
type Heading3Block struct { Object ObjectType `json:"object"` ID BlockID `json:"id,omitempty"` Type BlockType `json:"type"` CreatedTime *time.Time `json:"created_time,omitempty"` LastEditedTime *time.Time `json:"last_edited_time,omitempty"` HasChildren bool `json:"has_children,omitempty"` Heading3 struct { Text Paragraph `json:"text"` } `json:"heading_3"` }
func (*Heading3Block) GetType ¶
func (b *Heading3Block) GetType() BlockType
type LastEditedByProperty ¶
type LastEditedByProperty struct { ID ObjectID `json:"id"` Type PropertyType `json:"type"` LastEditedBy interface{} `json:"last_edited_by"` }
func (LastEditedByProperty) GetType ¶
func (p LastEditedByProperty) GetType() PropertyType
type LastEditedTimeProperty ¶
type LastEditedTimeProperty struct { ID ObjectID `json:"id"` Type PropertyType `json:"type"` LastEditedTime interface{} `json:"last_edited_time"` }
func (LastEditedTimeProperty) GetType ¶
func (p LastEditedTimeProperty) GetType() PropertyType
type MultiSelectFilterCondition ¶ added in v1.2.0
type MultiSelectOptionsProperty ¶
type MultiSelectOptionsProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` MultiSelect []Option `json:"multi_select"` }
func (MultiSelectOptionsProperty) GetType ¶
func (p MultiSelectOptionsProperty) GetType() PropertyType
type MultiSelectProperty ¶
type MultiSelectProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` MultiSelect Select `json:"multi_select"` }
func (MultiSelectProperty) GetType ¶
func (p MultiSelectProperty) GetType() PropertyType
type NumberFilterCondition ¶ added in v1.2.0
type NumberFilterCondition struct { Equals float64 `json:"equals,omitempty"` DoesNotEqual float64 `json:"does_not_equal,omitempty"` GreaterThan float64 `json:"greater_than,omitempty"` LessThan float64 `json:"less_than,omitempty"` GreaterThanOrEqualTo float64 `json:"greater_than_or_equal_to"` LessThanOrEqualTo float64 `json:"less_than_or_equal_to"` IsEmpty bool `json:"is_empty,omitempty"` IsNotEmpty bool `json:"is_not_empty,omitempty"` }
type NumberProperty ¶
type NumberProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` Format FormatType `json:"format"` }
func (NumberProperty) GetType ¶
func (p NumberProperty) GetType() PropertyType
type NumberedListItemBlock ¶
type NumberedListItemBlock struct { Object ObjectType `json:"object"` ID BlockID `json:"id,omitempty"` Type BlockType `json:"type"` CreatedTime *time.Time `json:"created_time,omitempty"` LastEditedTime *time.Time `json:"last_edited_time,omitempty"` HasChildren bool `json:"has_children,omitempty"` NumberedListItem struct { Text Paragraph `json:"text"` Children []Block `json:"children"` } `json:"numbered_list_item"` }
func (*NumberedListItemBlock) GetType ¶
func (b *NumberedListItemBlock) GetType() BlockType
type Object ¶
type Object interface {
GetObject() ObjectType
}
type ObjectType ¶
type ObjectType string
const ( ObjectTypeDatabase ObjectType = "database" ObjectTypeBlock ObjectType = "block" ObjectTypePage ObjectType = "page" ObjectTypeList ObjectType = "list" ObjectTypeText ObjectType = "text" ObjectTypeUser ObjectType = "user" ObjectTypeError ObjectType = "error" )
func (ObjectType) String ¶
func (ot ObjectType) String() string
type Option ¶
type Option struct { ID PropertyID `json:"id,omitempty"` Name string `json:"name"` Color Color `json:"color,omitempty"` }
type Page ¶
type Page struct { Object ObjectType `json:"object"` ID ObjectID `json:"id"` CreatedTime time.Time `json:"created_time"` LastEditedTime time.Time `json:"last_edited_time"` Archived bool `json:"archived"` Properties Properties `json:"properties"` Parent Parent `json:"parent"` URL string `json:"url"` }
func (*Page) GetObject ¶
func (p *Page) GetObject() ObjectType
type PageClient ¶
type PageClient struct {
// contains filtered or unexported fields
}
func (*PageClient) Create ¶
func (pc *PageClient) Create(ctx context.Context, requestBody *PageCreateRequest) (*Page, error)
func (*PageClient) Update ¶
func (pc *PageClient) Update(ctx context.Context, id PageID, request *PageUpdateRequest) (*Page, error)
type PageCreateRequest ¶
type PageCreateRequest struct { Parent Parent `json:"parent"` Properties Properties `json:"properties"` Children []Block `json:"children,omitempty"` }
type PageService ¶
type PageTitleProperty ¶
type PageTitleProperty struct { ID PropertyID `json:"id,omitempty"` Type PropertyType `json:"type,omitempty"` Title Paragraph `json:"title"` }
func (PageTitleProperty) GetType ¶
func (p PageTitleProperty) GetType() PropertyType
type PageUpdateRequest ¶
type PageUpdateRequest struct {
Properties Properties `json:"properties"`
}
type Pagination ¶
func (*Pagination) ToQuery ¶
func (p *Pagination) ToQuery() map[string]string
type ParagraphBlock ¶
type ParagraphBlock struct { Object ObjectType `json:"object"` ID BlockID `json:"id,omitempty"` Type BlockType `json:"type"` CreatedTime *time.Time `json:"created_time,omitempty"` LastEditedTime *time.Time `json:"last_edited_time,omitempty"` HasChildren bool `json:"has_children,omitempty"` Paragraph struct { Text Paragraph `json:"text"` Children []Block `json:"children"` } `json:"paragraph"` }
func (*ParagraphBlock) GetType ¶
func (b *ParagraphBlock) GetType() BlockType
type Parent ¶
type Parent struct { Type ParentType `json:"type"` PageID PageID `json:"page_id,omitempty"` DatabaseID DatabaseID `json:"database_id,omitempty"` }
type ParentType ¶
type ParentType string
const ( ParentTypeDatabaseID ParentType = "database_id" ParentTypePageID ParentType = "page_id" )
type PeopleFilterCondition ¶ added in v1.2.0
type PeopleProperty ¶
type PeopleProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` People interface{} `json:"people"` }
func (PeopleProperty) GetType ¶
func (p PeopleProperty) GetType() PropertyType
type PhoneNumberProperty ¶
type PhoneNumberProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` PhoneNumber interface{} `json:"phone_number"` }
func (PhoneNumberProperty) GetType ¶
func (p PhoneNumberProperty) GetType() PropertyType
type Properties ¶
func (*Properties) UnmarshalJSON ¶
func (p *Properties) UnmarshalJSON(data []byte) error
type Property ¶
type Property interface {
GetType() PropertyType
}
type PropertyFilter ¶
type PropertyFilter struct { Property string `json:"property"` Text *TextFilterCondition `json:"text,omitempty"` Number *NumberFilterCondition `json:"number,omitempty"` Checkbox *CheckboxFilterCondition `json:"checkbox,omitempty"` Select *SelectFilterCondition `json:"select,omitempty"` MultiSelect *MultiSelectFilterCondition `json:"multi_select,omitempty"` Date *DateFilterCondition `json:"date,omitempty"` People *PeopleFilterCondition `json:"people,omitempty"` Files *FilesFilterCondition `json:"files,omitempty"` Relation *RelationFilterCondition `json:"relation,omitempty"` Formula *FormulaFilterCondition `json:"formula,omitempty"` }
type PropertyID ¶
type PropertyID string
func (PropertyID) String ¶
func (pID PropertyID) String() string
type PropertyType ¶
type PropertyType string
const ( PropertyTypeTitle PropertyType = "title" PropertyTypeRichText PropertyType = "rich_text" PropertyTypeSelect PropertyType = "select" PropertyTypeMultiSelect PropertyType = "multi_select" PropertyTypeNumber PropertyType = "number" PropertyTypeCheckbox PropertyType = "checkbox" PropertyTypeEmail PropertyType = "email" PropertyTypeURL PropertyType = "url" PropertyTypeFile PropertyType = "file" PropertyTypePhoneNumber PropertyType = "phone_number" PropertyTypeFormula PropertyType = "formula" PropertyTypeDate PropertyType = "date" PropertyTypeRelation PropertyType = "relation" PropertyTypeRollup PropertyType = "rollup" PropertyTypePeople PropertyType = "people" PropertyTypeCreatedTime PropertyType = "created_time" PropertyTypeCreatedBy PropertyType = "created_by" PropertyTypeLastEditedTime PropertyType = "last_edited_time" PropertyTypeLastEditedBy PropertyType = "last_edited_by" )
type Relation ¶
type Relation struct { DatabaseID DatabaseID `json:"database_id"` SyncedPropertyID PropertyID `json:"synced_property_id"` SyncedPropertyName string `json:"synced_property_name"` }
type RelationFilterCondition ¶ added in v1.2.0
type RelationObject ¶
type RelationObject struct { Database DatabaseID `json:"database"` SyncedPropertyName string `json:"synced_property_name"` }
type RelationProperty ¶
type RelationProperty struct { Type PropertyType `json:"type"` Relation Relation `json:"relation"` }
func (RelationProperty) GetType ¶
func (p RelationProperty) GetType() PropertyType
type RichText ¶
type RichText struct { Type ObjectType `json:"type,omitempty"` Text Text `json:"text"` Annotations *Annotations `json:"annotations,omitempty"` PlainText string `json:"plain_text,omitempty"` Href string `json:"href,omitempty"` }
type RichTextProperty ¶
type RichTextProperty struct { ID PropertyID `json:"id,omitempty"` Type PropertyType `json:"type"` RichText []RichText `json:"rich_text"` }
func (RichTextProperty) GetType ¶
func (p RichTextProperty) GetType() PropertyType
type Rollup ¶
type Rollup struct { RelationPropertyName string `json:"relation_property_name"` RelationPropertyID PropertyID `json:"relation_property_id"` RollupPropertyName string `json:"rollup_property_name"` RollupPropertyID PropertyID `json:"rollup_property_id"` Function FunctionType `json:"function"` }
type RollupProperty ¶
type RollupProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` Rollup Rollup `json:"rollup"` }
func (RollupProperty) GetType ¶
func (p RollupProperty) GetType() PropertyType
type SearchClient ¶
type SearchClient struct {
// contains filtered or unexported fields
}
func (*SearchClient) Do ¶
func (sc *SearchClient) Do(ctx context.Context, request *SearchRequest) (*SearchResponse, error)
Do search https://developers.notion.com/reference/post-search
type SearchRequest ¶
type SearchRequest struct { Query string `json:"query,omitempty"` Sort *SortObject `json:"sort,omitempty"` Filter interface{} `json:"filter,omitempty"` StartCursor Cursor `json:"start_cursor,omitempty"` PageSize int `json:"page_size"` }
type SearchResponse ¶
type SearchResponse struct { Object ObjectType `json:"object"` Results []Object `json:"results"` HasMore bool `json:"has_more"` NextCursor Cursor `json:"next_cursor"` }
func (*SearchResponse) UnmarshalJSON ¶
func (sr *SearchResponse) UnmarshalJSON(data []byte) error
type SearchService ¶
type SearchService interface {
Do(context.Context, *SearchRequest) (*SearchResponse, error)
}
type SelectFilterCondition ¶ added in v1.2.0
type SelectOptionProperty ¶ added in v1.0.3
type SelectOptionProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` Select Option `json:"select"` }
func (SelectOptionProperty) GetType ¶ added in v1.0.3
func (p SelectOptionProperty) GetType() PropertyType
type SelectProperty ¶
type SelectProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` Select Select `json:"select"` }
func (SelectProperty) GetType ¶
func (p SelectProperty) GetType() PropertyType
type SortObject ¶
type SortObject struct { Property string `json:"property,omitempty"` Timestamp TimestampType `json:"timestamp,omitempty"` Direction SortOrder `json:"direction,omitempty"` }
type TextFilterCondition ¶ added in v1.2.0
type TextFilterCondition 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 TextProperty ¶
type TextProperty struct { ID PropertyID `json:"id,omitempty"` Type PropertyType `json:"type"` Title []RichText `json:"title"` }
func (TextProperty) GetType ¶
func (p TextProperty) GetType() PropertyType
type TimestampType ¶
type TimestampType string
const ( TimestampCreated TimestampType = "created_time" TimestampLastEdited TimestampType = "last_edited_time" )
type ToDoBlock ¶
type ToDoBlock struct { Object ObjectType `json:"object"` ID BlockID `json:"id,omitempty"` Type BlockType `json:"type"` CreatedTime *time.Time `json:"created_time,omitempty"` LastEditedTime *time.Time `json:"last_edited_time,omitempty"` HasChildren bool `json:"has_children"` ToDo struct { Text Paragraph `json:"text"` Children []Block `json:"children"` Checked bool `json:"checked"` } `json:"to_do"` }
type ToggleBlock ¶
type ToggleBlock struct { Object ObjectType `json:"object"` ID BlockID `json:"id,omitempty"` Type BlockType `json:"type"` CreatedTime *time.Time `json:"created_time,omitempty"` LastEditedTime *time.Time `json:"last_edited_time,omitempty"` HasChildren bool `json:"has_children,omitempty"` Text Paragraph `json:"text"` Children []Block `json:"children"` Toggle struct { Text Paragraph `json:"text"` Children []Block `json:"children"` } `json:"toggle"` }
func (*ToggleBlock) GetType ¶
func (b *ToggleBlock) GetType() BlockType
type URLProperty ¶
type URLProperty struct { ID ObjectID `json:"id,omitempty"` Type PropertyType `json:"type"` URL interface{} `json:"url"` }
func (URLProperty) GetType ¶
func (p URLProperty) GetType() PropertyType
type UserClient ¶
type UserClient struct {
// contains filtered or unexported fields
}
func (*UserClient) List ¶
func (uc *UserClient) List(ctx context.Context, pagination *Pagination) (*UsersListResponse, error)
type UserService ¶
type UserService interface { Get(context.Context, UserID) (*User, error) List(context.Context, *Pagination) (*UsersListResponse, error) }
type UsersListResponse ¶
type UsersListResponse struct { Object ObjectType `json:"object"` Results []User `json:"results"` HasMore bool `json:"has_more"` NextCursor Cursor `json:"next_cursor"` }
Click to show internal directories.
Click to hide internal directories.