Skip to content

User

Defined in: src/models/user.model.ts:9

User model wrapping a validated Notion user object with helper methods.

new User(data): User

Defined in: src/models/user.model.ts:10

unknown

User

BaseModel<NotionUser>.constructor

get avatarUrl(): string | null | undefined

Defined in: src/models/user.model.ts:30

string | null | undefined


get id(): string

Defined in: src/models/user.model.ts:18

Returns the unique identifier.

string

BaseModel.id


get name(): string | undefined

Defined in: src/models/user.model.ts:26

string | undefined


get object(): string

Defined in: src/models/user.model.ts:14

Returns the object type, for example “page”, “block”, or “user”.

string

BaseModel.object


get type(): "person" | "bot" | undefined

Defined in: src/models/user.model.ts:22

"person" | "bot" | undefined

getBotInfo(): { owner: { type: "workspace"; workspace: true; } | { type: "user"; }; workspace_id?: string; workspace_limits?: { max_file_upload_size_in_bytes: number; }; workspace_name?: string | null; } | undefined

Defined in: src/models/user.model.ts:61

Get bot information if this is a bot user.

{ owner: { type: "workspace"; workspace: true; } | { type: "user"; }; workspace_id?: string; workspace_limits?: { max_file_upload_size_in_bytes: number; }; workspace_name?: string | null; } | undefined


getEmail(): string | undefined

Defined in: src/models/user.model.ts:51

Get email if this is a person user.

string | undefined


isBot(): this is User & { data: { 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” } }

Defined in: src/models/user.model.ts:44

Check if this is a bot user.

this is User & { data: { 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” } }


isPerson(): this is User & { data: { avatar_url?: string | null; id: string; name?: string; object: “user”; person: { email: string; email_verified?: boolean }; type: “person” } }

Defined in: src/models/user.model.ts:37

Check if this is a person user.

this is User & { data: { avatar_url?: string | null; id: string; name?: string; object: “user”; person: { email: string; email_verified?: boolean }; type: “person” } }


toJSON(): { 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/base.model.ts:20

Returns the raw validated data as a plain object.

{ 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"; }

BaseModel.toJSON