PerspectPerspectDocs
Go to Admin
View as Markdown

perspectapi-ts-sdk

Classes

  • SiteUsersV2Client

Interfaces

  • V2OtpRequestResponse
  • V2OtpVerifyResponse

Interface: V2OtpRequestResponse

Properties

email

email: string

expires_in

expires_in: number

object

object: "otp_request"


Interface: V2OtpVerifyResponse

Extends

  • V2SiteUser

Properties

avatar_url

avatar_url: string | null

Inherited from

V2SiteUser.avatar_url

created_at

created_at: string | null

Inherited from

V2SiteUser.created_at

email

email: string

Inherited from

V2SiteUser.email

email_verified

email_verified: boolean

Inherited from

V2SiteUser.email_verified

first_name

first_name: string | null

Inherited from

V2SiteUser.first_name

id

id: string

Inherited from

V2SiteUser.id

last_login_at

last_login_at: string | null

Inherited from

V2SiteUser.last_login_at

last_name

last_name: string | null

Inherited from

V2SiteUser.last_name

metadata

metadata: Record<string, unknown> | null

Inherited from

V2SiteUser.metadata

object

object: "site_user"

Inherited from

V2SiteUser.object

status

status: string

Inherited from

V2SiteUser.status

token

token: string

updated_at

updated_at: string | null

Inherited from

V2SiteUser.updated_at

waitlist

waitlist: boolean

Inherited from

V2SiteUser.waitlist


Class: SiteUsersV2Client

Extends

  • BaseV2Client

Constructors

Constructor

new SiteUsersV2Client(http, basePath, cache?): SiteUsersV2Client

Parameters

http

HttpClient

basePath

string

cache?

CacheManager

Returns

SiteUsersV2Client

Inherited from

BaseV2Client.constructor

Properties

basePath

protected basePath: string

Inherited from

BaseV2Client.basePath

cache?

protected optional cache?: CacheManager

Inherited from

BaseV2Client.cache

http

protected http: HttpClient

Inherited from

BaseV2Client.http

Methods

buildPath()

protected buildPath(endpoint): string

Parameters

endpoint

string

Returns

string

Inherited from

BaseV2Client.buildPath

deleteOne()

protected deleteOne(path): Promise<V2Deleted>

DELETE a resource.

Parameters

path

string

Returns

Promise<V2Deleted>

Inherited from

BaseV2Client.deleteOne

deleteProfileValue()

deleteProfileValue(siteName, key): Promise<V2Deleted>

Delete a single profile key.

Parameters

siteName

string

key

string

Returns

Promise<V2Deleted>

get()

get(siteName, id): Promise<V2SiteUser>

Parameters

siteName

string

id

string

Returns

Promise<V2SiteUser>

getList()

protected getList<T>(path, params?, cachePolicy?): Promise<V2List<T>>

GET a list of resources with cursor pagination, with optional caching.

Type Parameters

T

T

Parameters

path

string

params?

object

cachePolicy?

CachePolicy

Returns

Promise<V2List<T>>

Inherited from

BaseV2Client.getList

getMe()

getMe(siteName): Promise<V2SiteUserWithProfile>

Load the currently-authenticated site user's canonical record plus their profile KV map. Requires client.setAuth(jwt) to have been called with the token returned from verifyOtp.

Parameters

siteName

string

Returns

Promise<V2SiteUserWithProfile>

getOne()

protected getOne<T>(path, params?, cachePolicy?): Promise<T>

GET a single resource, with optional caching.

Type Parameters

T

T

Parameters

path

string

params?

object

cachePolicy?

CachePolicy

Returns

Promise<T>

Inherited from

BaseV2Client.getOne

getProfile()

getProfile(siteName): Promise<V2SiteUserProfile>

Fetch the profile KV map as a dedicated site_user_profile envelope.

Parameters

siteName

string

Returns

Promise<V2SiteUserProfile>

invalidateCache()

protected invalidateCache(options): Promise<void>

Invalidate cache entries by keys or tags.

Parameters

options

CacheInvalidateOptions

Returns

Promise<void>

Inherited from

BaseV2Client.invalidateCache

list()

list(siteName, params?): Promise<V2List<V2SiteUser>>

Parameters

siteName

string

params?

V2SiteUserListParams

Returns

Promise<V2List<V2SiteUser>>

listAutoPaginate()

protected listAutoPaginate<T>(path, params?): AsyncGenerator<T, void, unknown>

Auto-paginating async generator. Yields every item across all pages.

Usage: for await (const item of client.listAutoPaginate(path, params)) { ... }

Type Parameters

T

T extends object

Parameters

path

string

params?

object

Returns

AsyncGenerator<T, void, unknown>

Inherited from

BaseV2Client.listAutoPaginate

listAutoPaginated()

listAutoPaginated(siteName, params?): AsyncGenerator<V2SiteUser, void, unknown>

Parameters

siteName

string

params?

Omit<V2SiteUserListParams, "starting_after" | "ending_before">

Returns

AsyncGenerator<V2SiteUser, void, unknown>

patchOne()

protected patchOne<T>(path, body?): Promise<T>

PATCH to update a resource.

Type Parameters

T

T

Parameters

path

string

body?

unknown

Returns

Promise<T>

Inherited from

BaseV2Client.patchOne

post()

protected post<T>(path, body?): Promise<T>

POST to create a resource.

Type Parameters

T

T

Parameters

path

string

body?

unknown

Returns

Promise<T>

Inherited from

BaseV2Client.post

putOne()

protected putOne<T>(path, body?): Promise<T>

PUT to upsert a resource.

Type Parameters

T

T

Parameters

path

string

body?

unknown

Returns

Promise<T>

Inherited from

BaseV2Client.putOne

requestOtp()

requestOtp(siteName, data): Promise<V2OtpRequestResponse>

Parameters

siteName

string

data
email

string

metadata?

Record<string, unknown>

waitlist?

boolean

Returns

Promise<V2OtpRequestResponse>

setProfileValue()

setProfileValue(siteName, key, value): Promise<V2SiteUserProfile>

Set a single profile key. The value is persisted verbatim — callers wanting structured data should JSON-stringify their value first.

Parameters

siteName

string

key

string

value

string

Returns

Promise<V2SiteUserProfile>

sitePath()

protected sitePath(siteName, resource, suffix?): string

Parameters

siteName

string

resource

string

suffix?

string = ''

Returns

string

Inherited from

BaseV2Client.sitePath

update()

update(siteName, id, data): Promise<V2SiteUser>

Parameters

siteName

string

id

string

data

V2SiteUserUpdateParams

Returns

Promise<V2SiteUser>

updateMe()

updateMe(siteName, data): Promise<V2SiteUser>

Update the authenticated user's own fields.

Parameters

siteName

string

data

V2SiteUserMeUpdateParams

Returns

Promise<V2SiteUser>

verifyOtp()

verifyOtp(siteName, data): Promise<V2OtpVerifyResponse>

Parameters

siteName

string

data
code

string

email

string

Returns

Promise<V2OtpVerifyResponse>