Skip to content

View

Defined in: src/models/view.model.ts:19

View model class with helper methods.

A view controls how a database or data source shows its rows, for example as a table, board, or calendar.

new View(data): View

Defined in: src/models/view.model.ts:20

{[key: string]: unknown; type: "map" | "table" | "list" | "board" | "calendar" | "timeline" | "gallery" | "form" | "chart" | "dashboard"; } = ...

"map" | "table" | "list" | "board" | "calendar" | "timeline" | "gallery" | "form" | "chart" | "dashboard" = ...

{ avatar_url?: string | null; id: string; name?: string; object: "user"; person: { email: string; email_verified?: boolean; }; type: "person"; } | { avatar_url?: string | null; bot: { owner: { type: "workspace"; workspace: true; } | { type: "user"; }; workspace_id?: string; workspace_limits?: { max_file_upload_size_in_bytes: number; }; workspace_name?: string | null; }; id: string; name?: string; object: "user"; type: "bot"; } | { id: string; object: "user"; } = userSchema

string = notionDateStringSchema

string = ...

string | null = ...

Record<string, unknown> | null = ...

string = ...

{ avatar_url?: string | null; id: string; name?: string; object: "user"; person: { email: string; email_verified?: boolean; }; type: "person"; } | { avatar_url?: string | null; bot: { owner: { type: "workspace"; workspace: true; } | { type: "user"; }; workspace_id?: string; workspace_limits?: { max_file_upload_size_in_bytes: number; }; workspace_name?: string | null; }; id: string; name?: string; object: "user"; type: "bot"; } | { id: string; object: "user"; } = userSchema

string = notionDateStringSchema

string = ...

"view" = ...

{ database_id: string; type: "database_id"; } = databaseParentSchema

string = ...

"database_id" = ...

Record<string, unknown> | null = ...

Record<string, unknown>[] | null = ...

"map" | "table" | "list" | "board" | "calendar" | "timeline" | "gallery" | "form" | "chart" | "dashboard" = ...

string = ...

View

BaseModel<NotionView>.constructor

get configuration(): {[key: string]: unknown; type: "map" | "table" | "list" | "board" | "calendar" | "timeline" | "gallery" | "form" | "chart" | "dashboard"; } | undefined

Defined in: src/models/view.model.ts:90

Returns the view’s per-layout configuration, if any.

{[key: string]: unknown; type: "map" | "table" | "list" | "board" | "calendar" | "timeline" | "gallery" | "form" | "chart" | "dashboard"; } | undefined


get createdBy(): { avatar_url?: string | null; id: string; name?: string; object: "user"; person: { email: string; email_verified?: boolean; }; type: "person"; } | { avatar_url?: string | null; bot: { owner: { type: "workspace"; workspace: true; } | { type: "user"; }; workspace_id?: string; workspace_limits?: { max_file_upload_size_in_bytes: number; }; workspace_name?: string | null; }; id: string; name?: string; object: "user"; type: "bot"; } | { id: string; object: "user"; }

Defined in: src/models/view.model.ts:111

Returns the user who created the view.

{ avatar_url?: string | null; id: string; name?: string; object: "user"; person: { email: string; email_verified?: boolean; }; type: "person"; } | { avatar_url?: string | null; bot: { owner: { type: "workspace"; workspace: true; } | { type: "user"; }; workspace_id?: string; workspace_limits?: { max_file_upload_size_in_bytes: number; }; workspace_name?: string | null; }; id: string; name?: string; object: "user"; type: "bot"; } | { id: string; object: "user"; }


get createdTime(): Date

Defined in: src/models/view.model.ts:97

Returns the created time as a Date object.

Date


get dashboardViewId(): string | undefined

Defined in: src/models/view.model.ts:132

Returns the widget ID, if a dashboard shows this view as a widget.

string | undefined


get dataSourceId(): string | null

Defined in: src/models/view.model.ts:48

Returns the data source ID this view belongs to, or null for dashboard views.

string | null


get filter(): Record<string, unknown> | null | undefined

Defined in: src/models/view.model.ts:69

Returns the view’s filter, if any.

Record<string, unknown> | null | undefined


get id(): string

Defined in: src/models/view.model.ts:34

Returns the view ID.

string

BaseModel.id


get lastEditedBy(): { avatar_url?: string | null; id: string; name?: string; object: "user"; person: { email: string; email_verified?: boolean; }; type: "person"; } | { avatar_url?: string | null; bot: { owner: { type: "workspace"; workspace: true; } | { type: "user"; }; workspace_id?: string; workspace_limits?: { max_file_upload_size_in_bytes: number; }; workspace_name?: string | null; }; id: string; name?: string; object: "user"; type: "bot"; } | { id: string; object: "user"; }

Defined in: src/models/view.model.ts:118

Returns the user who last edited the view.

{ avatar_url?: string | null; id: string; name?: string; object: "user"; person: { email: string; email_verified?: boolean; }; type: "person"; } | { avatar_url?: string | null; bot: { owner: { type: "workspace"; workspace: true; } | { type: "user"; }; workspace_id?: string; workspace_limits?: { max_file_upload_size_in_bytes: number; }; workspace_name?: string | null; }; id: string; name?: string; object: "user"; type: "bot"; } | { id: string; object: "user"; }


get lastEditedTime(): Date

Defined in: src/models/view.model.ts:104

Returns the last edited time as a Date object.

Date


get name(): string

Defined in: src/models/view.model.ts:55

Returns the view name.

string


get object(): "view"

Defined in: src/models/view.model.ts:27

Returns “view” - the object type.

"view"

BaseModel.object


get parent(): { database_id: string; type: "database_id"; } | { data_source_id: string; database_id: string; type: "data_source_id"; } | { page_id: string; type: "page_id"; } | { type: "workspace"; workspace: true; } | { block_id: string; type: "block_id"; } | { agent_id: string; type: "agent_id"; }

Defined in: src/models/view.model.ts:41

Returns the parent object (database reference).

{ database_id: string; type: "database_id"; } | { data_source_id: string; database_id: string; type: "data_source_id"; } | { page_id: string; type: "page_id"; } | { type: "workspace"; workspace: true; } | { block_id: string; type: "block_id"; } | { agent_id: string; type: "agent_id"; }


get quickFilters(): Record<string, unknown> | null | undefined

Defined in: src/models/view.model.ts:83

Returns the view’s quick filters, if any.

Record<string, unknown> | null | undefined


get sorts(): Record<string, unknown>[] | null | undefined

Defined in: src/models/view.model.ts:76

Returns the view’s sorts, if any.

Record<string, unknown>[] | null | undefined


get type(): "map" | "table" | "list" | "board" | "calendar" | "timeline" | "gallery" | "form" | "chart" | "dashboard"

Defined in: src/models/view.model.ts:62

Returns the view type, for example table, board, or calendar.

"map" | "table" | "list" | "board" | "calendar" | "timeline" | "gallery" | "form" | "chart" | "dashboard"


get url(): string

Defined in: src/models/view.model.ts:125

Returns the Notion URL of the view.

string

isWidgetView(): boolean

Defined in: src/models/view.model.ts:139

Returns whether a dashboard shows this view as a widget.

boolean


toJSON(): object

Defined in: src/models/base.model.ts:20

Returns the raw validated data as a plain object.

object

optional configuration?: object

[key: string]: unknown

type: "map" | "table" | "list" | "board" | "calendar" | "timeline" | "gallery" | "form" | "chart" | "dashboard"

created_by: { avatar_url?: string | null; id: string; name?: string; object: "user"; person: { email: string; email_verified?: boolean; }; type: "person"; } | { avatar_url?: string | null; bot: { owner: { type: "workspace"; workspace: true; } | { type: "user"; }; workspace_id?: string; workspace_limits?: { max_file_upload_size_in_bytes: number; }; workspace_name?: string | null; }; id: string; name?: string; object: "user"; type: "bot"; } | { id: string; object: "user"; } = userSchema

created_time: string = notionDateStringSchema

optional dashboard_view_id?: string

data_source_id: string | null

optional filter?: Record<string, unknown> | null

id: string

last_edited_by: { avatar_url?: string | null; id: string; name?: string; object: "user"; person: { email: string; email_verified?: boolean; }; type: "person"; } | { avatar_url?: string | null; bot: { owner: { type: "workspace"; workspace: true; } | { type: "user"; }; workspace_id?: string; workspace_limits?: { max_file_upload_size_in_bytes: number; }; workspace_name?: string | null; }; id: string; name?: string; object: "user"; type: "bot"; } | { id: string; object: "user"; } = userSchema

last_edited_time: string = notionDateStringSchema

name: string

object: "view"

parent: object = databaseParentSchema

database_id: string

type: "database_id"

optional quick_filters?: Record<string, unknown> | null

optional sorts?: Record<string, unknown>[] | null

type: "map" | "table" | "list" | "board" | "calendar" | "timeline" | "gallery" | "form" | "chart" | "dashboard"

url: string

BaseModel.toJSON