Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

@envoy/envoy-integrations-sdk

@envoy/envoy-integrations-sdk

Table of contents

API Classes

Helper Classes

Request Object Classes

SDK Classes

Storage Classes

API Resource Interfaces

Base Interfaces

Other Interfaces

Response Interfaces

API Resource Type aliases

Base Type aliases

Event Type aliases

Handler Type aliases

Helper Type aliases

Meta Type aliases

Request Type aliases

Response Type aliases

Storage Type aliases

Filter Functions

Handler Functions

Middleware Functions

API Resource Type aliases

AgreementModel

Ƭ AgreementModel: JSONAPIModel<AgreementAttributes, AgreementRelationships>

Defined in

resources/AgreementResource.ts:26


AgreementPageAttributes

Ƭ AgreementPageAttributes: Object

Type declaration

Name Type
enabled? boolean
position? number

Defined in

resources/AgreementPageResource.ts:6


AgreementPageModel

Ƭ AgreementPageModel: JSONAPIModel<AgreementPageAttributes, AgreementPageRelationships>

Defined in

resources/AgreementPageResource.ts:19


AgreementPageRelationships

Ƭ AgreementPageRelationships: "flow" | "agreements"

Defined in

resources/AgreementPageResource.ts:14


AgreementRelationships

Ƭ AgreementRelationships: "agreement-page"

Defined in

resources/AgreementResource.ts:21


CompanyModel

Ƭ CompanyModel: JSONAPIModel<CompanyAttributes, CompanyRelationships>

Defined in

resources/CompanyResource.ts:21


CompanyRelationships

Ƭ CompanyRelationships: "locations"

Defined in

resources/CompanyResource.ts:16


EmployeeModel

Ƭ EmployeeModel: JSONAPIModel<EmployeeAttributes, EmployeeRelationships>

Defined in

resources/EmployeeResource.ts:47


EmployeeRelationships

Ƭ EmployeeRelationships: "locations" | "company"

Defined in

resources/EmployeeResource.ts:42


EmployeeSortFields

Ƭ EmployeeSortFields: "name" | "created_at" | "-name" | "-created_at"

Defined in

resources/EmployeeResource.ts:6


FlowModel

Ƭ FlowModel: JSONAPIModel<FlowAttributes, FlowRelationships>

Defined in

resources/FlowResource.ts:35


FlowRelationships

Ƭ FlowRelationships: "location" | "sign-in-field-page" | "agreement-page"

Defined in

resources/FlowResource.ts:30


FlowSortFields

Ƭ FlowSortFields: "name" | "created_at" | "-name" | "-created_at"

Defined in

resources/FlowResource.ts:6


InviteCreationModel

Ƭ InviteCreationModel: JSONAPIModel<InviteCreationAttributes, InviteRelationships, "invites", undefined>

Defined in

resources/InviteResource.ts:92


InviteModel

Ƭ InviteModel: JSONAPIModel<InviteAttributes, InviteRelationships, "invites">

Defined in

resources/InviteResource.ts:87


InviteRelationships

Ƭ InviteRelationships: "attendee" | "creator" | "employee" | "entry" | "flow" | "location"

Defined in

resources/InviteResource.ts:82


InviteSortFields

Ƭ InviteSortFields: "name" | "created_at" | "-name" | "-created_at"

Defined in

resources/InviteResource.ts:6


LocationModel

Ƭ LocationModel: JSONAPIModel<LocationAttributes, LocationRelationships>

Defined in

resources/LocationResource.ts:67


LocationRelationships

Ƭ LocationRelationships: "company" | "employees" | "flows" | "employee-screening-flow"

Defined in

resources/LocationResource.ts:62


LocationSortFields

Ƭ LocationSortFields: "name" | "created_at" | "-name" | "-created_at"

Defined in

resources/LocationResource.ts:6


SignInFieldModel

Ƭ SignInFieldModel: JSONAPIModel<SignInFieldAttributes, SignInFieldRelationships>

Defined in

resources/SignInFieldResource.ts:31


SignInFieldPageAttributes

Ƭ SignInFieldPageAttributes: Object

Type declaration

Name Type
enabled? boolean
position? number

Defined in

resources/SignInFieldPageResource.ts:6


SignInFieldPageModel

Ƭ SignInFieldPageModel: JSONAPIModel<SignInFieldPageAttributes, SignInFieldPageRelationships>

Defined in

resources/SignInFieldPageResource.ts:23


SignInFieldPageRelationships

Ƭ SignInFieldPageRelationships: "flow" | "actionable-sign-in-field-actions" | "actionable-sign-in-fields" | "sign-in-field-actions" | "sign-in-fields"

Defined in

resources/SignInFieldPageResource.ts:14


SignInFieldRelationships

Ƭ SignInFieldRelationships: "sign-in-field-page"

Defined in

resources/SignInFieldResource.ts:26


UserAttributes

Ƭ UserAttributes: Object

Type declaration

Name Type
email string
name string

Defined in

resources/UserResource.ts:6


UserModel

Ƭ UserModel: JSONAPIModel<UserAttributes, "">

Defined in

resources/UserResource.ts:14


Base Type aliases

EnvoyRequest

Ƭ EnvoyRequest<Payload, Config>: EnvoyBaseRequest<EnvoyRouteMeta<Config> | EnvoyEventMeta<string, Config>, Payload>

You probably won't need to use this type directly. For routes, use EnvoyRouteRequest, and for events, use EnvoyEntryEventRequest or EnvoyInviteEventRequest.

Type parameters

Name Type
Payload Payload = unknown
Config Config = Record<string, unknown>

Defined in

sdk/EnvoyRequest.ts:123


Event Type aliases

EntryPayload

Ƭ EntryPayload: Object

Type declaration

Name Type
attributes Object
attributes.email string | null
attributes.employee-screening-flow boolean
attributes.flow-name string
attributes.full-name string
attributes.host string | null
attributes.host-email string | null
attributes.legal-docs? { agreement: { id: string } ; id: string ; signed-at: string ; url: string }[]
attributes.nda? string
attributes.phone-number? string
attributes.private-notes string | null
attributes.signed-in-at string
attributes.signed-out-at? string
attributes.thumbnails Object
attributes.thumbnails.large string | null
attributes.thumbnails.original string | null
attributes.thumbnails.small string | null
attributes.user-data { field: string ; value: string | null }[]
id string
relationships Object
relationships.agreeable-ndas? Object
relationships.agreeable-ndas.data JSONAPIData<"agreeable-ndas">[]
relationships.device? Object
relationships.device.data JSONAPIData<"devices">
relationships.employee? Object
relationships.employee.data JSONAPIData<"employees">
relationships.flow? Object
relationships.flow.data JSONAPIData<"flows">
relationships.invite? Object
relationships.invite.data JSONAPIData<"invites">
relationships.location Object
relationships.location.data JSONAPIData<"locations">
relationships.visitor-entrance? Object
relationships.visitor-entrance.data JSONAPIData<"visitor-entrances">
type "entries"

Defined in

payloads/EntryPayload.ts:6


InvitePayload

Ƭ InvitePayload: Object

Type declaration

Name Type
attributes Object
attributes.arrived boolean
attributes.been-here-before boolean
attributes.edit-token string
attributes.email string | null
attributes.employee-screening-flow boolean
attributes.expected-arrival-time string
attributes.flow-id string
attributes.flow-name string
attributes.full-name string
attributes.inviter-email string | null
attributes.inviter-name string | null
attributes.legal-docs? { agreement: { id: string } ; id: string ; signed-at: string ; url: string }[]
attributes.nda? string
attributes.photo-url string | null
attributes.preregistration-complete boolean
attributes.private-notes string | null
attributes.qr-code string | null
attributes.qr-code-sent-at string | null
attributes.reminder-sent-at string | null
attributes.secret-token string
attributes.signed-in-at? string
attributes.signed-out-at? string
attributes.user-data { field: string ; value: string | null }[]
id string
relationships Object
relationships.agreeable-ndas? Object
relationships.agreeable-ndas.data JSONAPIData<"agreeable-ndas">[]
relationships.employee? Object
relationships.employee.data JSONAPIData<"employees">
relationships.entry? Object
relationships.entry.data JSONAPIData<"entries">
relationships.flow? Object
relationships.flow.data JSONAPIData<"flows">
relationships.location Object
relationships.location.data JSONAPIData<"locations">
type "invites"

Defined in

payloads/InvitePayload.ts:6


Handler Type aliases

EntryEventHandler

Ƭ EntryEventHandler<Config, Additions>: (req: EnvoyEntryEventRequest<Config> & Additions, res: EnvoyResponse) => Result

Handle an entry event, such as entry_sign_in.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Type declaration

▸ (req, res): Result

Parameters
Name Type
req EnvoyEntryEventRequest<Config> & Additions
res EnvoyResponse
Returns

Result

Defined in

sdk/handlers.ts:31


InviteEventHandler

Ƭ InviteEventHandler<Config, Additions>: (req: EnvoyInviteEventRequest<Config> & Additions, res: EnvoyResponse) => Result

Handle an invite event, such as invite_created.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Type declaration

▸ (req, res): Result

Parameters
Name Type
req EnvoyInviteEventRequest<Config> & Additions
res EnvoyResponse
Returns

Result

Defined in

sdk/handlers.ts:38


MigrationRouteHandler

Ƭ MigrationRouteHandler<OldConfig, NewConfig, Additions>: (req: EnvoyMigrationRouteRequest<OldConfig> & Additions, res: EnvoyResponse<NewConfig>) => Result

Handle a "migration" route.

Type parameters

Name Type
OldConfig OldConfig = SomeObject
NewConfig NewConfig = SomeObject
Additions Additions = SomeObject

Type declaration

▸ (req, res): Result

Parameters
Name Type
req EnvoyMigrationRouteRequest<OldConfig> & Additions
res EnvoyResponse<NewConfig>
Returns

Result

Defined in

sdk/handlers.ts:52


OptionsRouteHandler

Ƭ OptionsRouteHandler<Config, Additions>: (req: EnvoyOptionsRouteRequest<Config> & Additions, res: EnvoyOptionsRouteResponse) => Result

Handle an "options" route.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Type declaration

▸ (req, res): Result

Parameters
Name Type
req EnvoyOptionsRouteRequest<Config> & Additions
res EnvoyOptionsRouteResponse
Returns

Result

Defined in

sdk/handlers.ts:59


PluginUninstalledEventHandler

Ƭ PluginUninstalledEventHandler<Config, Additions>: (req: EnvoyEventRequest<"plugin_uninstalled", never, Config> & Additions, res: EnvoyResponse) => Result

Handle a plugin_uninstalled event for cleaning up.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Type declaration

▸ (req, res): Result

Parameters
Name Type
req EnvoyEventRequest<"plugin_uninstalled", never, Config> & Additions
res EnvoyResponse
Returns

Result

Defined in

sdk/handlers.ts:45


RemoteValueRouteHandler

Ƭ RemoteValueRouteHandler<Config, Additions>: (req: EnvoyRemoteValueRouteRequest<Config> & Additions, res: EnvoyRemoteValueRouteResponse) => Result

Handle a "remote value" route.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Type declaration

▸ (req, res): Result

Parameters
Name Type
req EnvoyRemoteValueRouteRequest<Config> & Additions
res EnvoyRemoteValueRouteResponse
Returns

Result

Defined in

sdk/handlers.ts:66


SelectedValuesRouteHandler

Ƭ SelectedValuesRouteHandler<Config, Additions>: (req: EnvoySelectedValuesRouteRequest<Config> & Additions, res: EnvoySelectedValuesRouteResponse) => Result

Handle a "selected values" route.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Type declaration

▸ (req, res): Result

Parameters
Name Type
req EnvoySelectedValuesRouteRequest<Config> & Additions
res EnvoySelectedValuesRouteResponse
Returns

Result

Defined in

sdk/handlers.ts:73


ValidationRouteHandler

Ƭ ValidationRouteHandler<Config, Payload, Additions>: (req: EnvoyValidationRouteRequest<Payload, Config> & Additions, res: EnvoyResponse<Partial<Config>>) => Result

Handle a "validation" route.

Type parameters

Name Type
Config Config = SomeObject
Payload Payload = SomeObject
Additions Additions = SomeObject

Type declaration

▸ (req, res): Result

Parameters
Name Type
req EnvoyValidationRouteRequest<Payload, Config> & Additions
res EnvoyResponse<Partial<Config>>
Returns

Result

Defined in

sdk/handlers.ts:80


Helper Type aliases

EnvoySignatureVerifierOptions

Ƭ EnvoySignatureVerifierOptions: Object

Type declaration

Name Type
algorithm "sha256" | string
encoding BinaryToTextEncoding
header "x-envoy-signature" | string
secret string

Defined in

util/EnvoySignatureVerifier.ts:8


Meta Type aliases

EnvoyEventMeta

Ƭ EnvoyEventMeta<Event, Config>: Object

Metadata that will be included in the request body for events.

Type parameters

Name Type
Event Event: string = string
Config Config = Record<string, unknown>

Type declaration

Name Type
auth EnvoyMetaAuth | null
company EnvoyMetaCompany
config Config
event Event
install_id string
job EnvoyMetaJob<Event>
location EnvoyMetaLocation
zone EnvoyMetaZone
plugin_id string

Defined in

sdk/EnvoyMeta.ts:66


EnvoyMetaAuth

Ƭ EnvoyMetaAuth: Object

A short-lived userAPI token. Will be used to construct the userAPI property found in req.envoy.userAPI.

Type declaration

Name Type
access_token string
expires_in number
refresh_token string | null
refresh_token_expires_in number | null
token_type "Bearer"

Defined in

sdk/EnvoyMeta.ts:53


EnvoyMetaCompany

Ƭ EnvoyMetaCompany: Object

Type declaration

Name Type
attributes Object
attributes.active boolean
attributes.created-at string
attributes.name string
id string
type "companies"

Defined in

sdk/EnvoyMeta.ts:37


EnvoyMetaJob

Ƭ EnvoyMetaJob<Event>: Object

Type parameters

Name Type
Event Event: string = string

Type declaration

Name Type
id string
identifier string
name Event

Defined in

sdk/EnvoyMeta.ts:4


EnvoyMetaLocation

Ƭ EnvoyMetaLocation: Object

Type declaration

Name Type
attributes Object
attributes.address string
attributes.address-line-one string | null
attributes.address-line-two string | null
attributes.city string | null
attributes.company-name-override string | null
attributes.country string | null
attributes.created-at string
attributes.latitude number | null
attributes.locale string | null
attributes.longitude number | null
attributes.name string
attributes.state string | null
attributes.timezone string
attributes.zip string | null
id string
type "locations"

Defined in

sdk/EnvoyMeta.ts:13

EnvoyMetaZone

Ƭ EnvoyMetaZone: Object

Type declaration

Name Type
attributes Object
attributes.address string | null
attributes.logo-url string | null
attributes.name string
attributes.time-zone string
id string
type "zones"

EnvoyRouteMeta

Ƭ EnvoyRouteMeta<Config, Params>: Object

Metadata that will be included in the request body for setup routes, like validation URLs or options URLs.

Type parameters

Name Type
Config Config = Record<string, unknown>
Params Params = Record<string, unknown>

Type declaration

Name Type
auth EnvoyMetaAuth | null
company EnvoyMetaCompany
config Config
forwarded_bearer_token? string
install_id string
location EnvoyMetaLocation
zone EnvoyMetaZone
params Params
plugin_id string
route string

Defined in

sdk/EnvoyMeta.ts:83


Request Type aliases

EnvoyEntryEventRequest

Ƭ EnvoyEntryEventRequest<Config>: EnvoyEventRequest<EnvoyEntryEvent, EntryPayload, Config>

Use to type your req object in entry event handlers, such as handlers for entry_sign_in.

Type parameters

Name Type
Config Config = Record<string, unknown>

Defined in

sdk/EnvoyRequest.ts:104


EnvoyEventRequest

Ƭ EnvoyEventRequest<Event, Payload, Config>: EnvoyBaseRequest<EnvoyEventMeta<Event, Config>, Payload>

Base type for event requests. You should use EnvoyEntryEventRequest or EnvoyInviteEventRequest.

Type parameters

Name Type
Event Event: string = string
Payload Payload = unknown
Config Config = Record<string, unknown>

Defined in

sdk/EnvoyRequest.ts:95


EnvoyInviteEventRequest

Ƭ EnvoyInviteEventRequest<Config>: EnvoyEventRequest<EnvoyInviteEvent, InvitePayload, Config>

Use to type your req object in invite event handlers, such as handlers for invite_created or upcoming_visit.

Type parameters

Name Type
Config Config = Record<string, unknown>

Defined in

sdk/EnvoyRequest.ts:113


EnvoyMigrationRouteRequest

Ƭ EnvoyMigrationRouteRequest<OldConfig>: EnvoyRouteRequest<never, OldConfig, never>

Use to type your req object in Envoy "migration" route handlers.

Type parameters

Name Type
OldConfig OldConfig = Record<string, unknown>

Defined in

sdk/EnvoyRequest.ts:54


EnvoyOptionsRouteRequest

Ƭ EnvoyOptionsRouteRequest<Config>: EnvoyRouteRequest<EnvoyOptionsRouteResponseBody, Config, EnvoyOptionsRouteParams>

Use to type your req object in Envoy "options URL" route handlers.

Type parameters

Name Type
Config Config = Record<string, unknown>

Defined in

sdk/EnvoyRequest.ts:62


EnvoyRemoteValueRouteRequest

Ƭ EnvoyRemoteValueRouteRequest<Config>: EnvoyRouteRequest<EnvoyRemoteValueRouteResponseBody, Config, never>

Use to type your req object in Envoy "remote value URL" route handlers.

Type parameters

Name Type
Config Config = Record<string, unknown>

Defined in

sdk/EnvoyRequest.ts:78


EnvoyRouteRequest

Ƭ EnvoyRouteRequest<Payload, Config, Params>: EnvoyBaseRequest<EnvoyRouteMeta<Config, Params>, Payload>

Use to type your req object in Envoy route handlers such as validation URLs.

Type parameters

Name Type
Payload Payload = unknown
Config Config = Record<string, unknown>
Params Params = Record<string, unknown>

Defined in

sdk/EnvoyRequest.ts:43


EnvoySelectedValuesRouteRequest

Ƭ EnvoySelectedValuesRouteRequest<Config>: EnvoyRouteRequest<EnvoySelectedValuesRouteResponseBody, Config, EnvoySelectedValuesRouteParams>

Use to type your req object in Envoy "selected values URL" route handlers.

Type parameters

Name Type
Config Config = Record<string, unknown>

Defined in

sdk/EnvoyRequest.ts:70


EnvoyValidationRouteRequest

Ƭ EnvoyValidationRouteRequest<Payload, Config>: EnvoyRouteRequest<Payload, Config, never>

Use to type your req object in Envoy "validation URL" route handlers.

Type parameters

Name Type
Payload Payload = Record<string, unknown>
Config Config = Record<string, unknown>

Defined in

sdk/EnvoyRequest.ts:86


Response Type aliases

EnvoyOptionsRouteResponse

Ƭ EnvoyOptionsRouteResponse: EnvoyResponse<EnvoyOptionsRouteResponseBody>

Use to type your res object in Envoy "options URL" route handlers.

Defined in

sdk/EnvoyResponse.ts:34


EnvoyRemoteValueRouteResponse

Ƭ EnvoyRemoteValueRouteResponse: EnvoyResponse<EnvoyRemoteValueRouteResponseBody>

Use to type your res object in Envoy "remote value URL" route handlers.

Defined in

sdk/EnvoyResponse.ts:40


EnvoySelectedValuesRouteResponse

Ƭ EnvoySelectedValuesRouteResponse: EnvoyResponse<EnvoySelectedValuesRouteResponseBody>

Use to type your res object in Envoy "selected values URL" route handlers.

Defined in

sdk/EnvoyResponse.ts:46


Storage Type aliases

EnvoyStorageItem

Ƭ EnvoyStorageItem<Value>: Object

Type parameters

Name Type
Value Value = unknown

Type declaration

Name Type
key string
value Value

Defined in

sdk/EnvoyStorageItem.ts:4

Filter Functions

employeeSignInEnabledFilterMiddleware

employeeSignInEnabledFilterMiddleware<Config>(employeeSignInEnabledKey, message?): RequestHandler

Will only proceed if the install's config has a truthy value for the given employeeSignInEnabledKey.

Type parameters

Name
Config

Parameters

Name Type Default value
employeeSignInEnabledKey keyof Config undefined
message string 'Envoy Protect is disabled.'

Returns

RequestHandler

Defined in

sdk/filters.ts:30


excludedEmployeesFilterMiddleware

excludedEmployeesFilterMiddleware<Config>(excludeEmployeesKey, message?): RequestHandler

Will not proceed if the employee who's signing in is present in the excluded employees list.

Type parameters

Name
Config

Parameters

Name Type Default value
excludeEmployeesKey keyof Config undefined
message string 'Employee excluded from integration.'

Returns

RequestHandler

Defined in

sdk/filters.ts:43


inviteOnlyEntryFilterMiddleware

inviteOnlyEntryFilterMiddleware<Config>(invitesOnlyKey, message?): RequestHandler

Will only proceed if the entry has an invite and the install's config has a truthy value for the given invitesOnlyKey.

Type parameters

Name
Config

Parameters

Name Type Default value
invitesOnlyKey keyof Config undefined
message string 'Visitors must be invited.'

Returns

RequestHandler

Defined in

sdk/filters.ts:78


Handler Functions

asyncHandler

asyncHandler<Req, Res>(handler): RequestHandler

Wraps any express.js-based handlers to catch Promise-based errors.

Type parameters

Name Type
Req Req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>, Req>
Res Res: Response<any, Record<string, any>, Res>

Parameters

Name Type
handler (req: Req, res: Res) => Result

Returns

RequestHandler

Defined in

sdk/handlers.ts:90


entryEventHandler

entryEventHandler<Config, Additions>(handler): RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Handler for entry events.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Parameters

Name Type
handler EntryEventHandler<Config, Additions>

Returns

RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Defined in

sdk/handlers.ts:103


inviteEventHandler

inviteEventHandler<Config, Additions>(handler): RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Handler for invite events.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Parameters

Name Type
handler InviteEventHandler<Config, Additions>

Returns

RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Defined in

sdk/handlers.ts:115


migrationRouteHandler

migrationRouteHandler<OldConfig, NewConfig, Additions>(handler): RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Handler for a migration route.

Type parameters

Name Type
OldConfig OldConfig
NewConfig NewConfig
Additions Additions = SomeObject

Parameters

Name Type
handler MigrationRouteHandler<OldConfig, NewConfig, Additions>

Returns

RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Defined in

sdk/handlers.ts:139


optionsRouteHandler

optionsRouteHandler<Config, Additions>(handler): RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Handler for options URL routes.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Parameters

Name Type
handler OptionsRouteHandler<Config, Additions>

Returns

RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Defined in

sdk/handlers.ts:152


pluginUninstalledEventHandler

pluginUninstalledEventHandler<Config, Additions>(handler): RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Handler for plugin_uninstalled events.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Parameters

Name Type
handler PluginUninstalledEventHandler<Config, Additions>

Returns

RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Defined in

sdk/handlers.ts:127


remoteValueRouteHandler

remoteValueRouteHandler<Config, Additions>(handler): RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Handler for remote value URL routes.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Parameters

Name Type
handler RemoteValueRouteHandler<Config, Additions>

Returns

RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Defined in

sdk/handlers.ts:164


selectedValuesRouteHandler

selectedValuesRouteHandler<Config, Additions>(handler): RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Handler for selected values URL routes.

Type parameters

Name Type
Config Config = SomeObject
Additions Additions = SomeObject

Parameters

Name Type
handler SelectedValuesRouteHandler<Config, Additions>

Returns

RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Defined in

sdk/handlers.ts:176


validationRouteHandler

validationRouteHandler<Config, Payload, Additions>(handler): RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Handler for validation URL routes.

Type parameters

Name Type
Config Config = SomeObject
Payload Payload = SomeObject
Additions Additions = SomeObject

Parameters

Name Type
handler ValidationRouteHandler<Config, Payload, Additions>

Returns

RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>

Defined in

sdk/handlers.ts:188


Middleware Functions

employeeSignInEnabledFilterMiddleware

employeeSignInEnabledFilterMiddleware<Config>(employeeSignInEnabledKey, message?): RequestHandler

Will only proceed if the install's config has a truthy value for the given employeeSignInEnabledKey.

Type parameters

Name
Config

Parameters

Name Type Default value
employeeSignInEnabledKey keyof Config undefined
message string 'Envoy Protect is disabled.'

Returns

RequestHandler

Defined in

sdk/filters.ts:30


envoyMiddleware

envoyMiddleware(options?): RequestHandler

Sets up an EnvoyPluginSDK object in the path req.envoy. Modifies the res object to include Envoy's helpers, per EnvoyResponse.

Also verifies that the request is coming from Envoy, as well as managing the plugin access token lifecycle.

Parameters

Name Type
options? EnvoySignatureVerifierOptions

Returns

RequestHandler

Defined in

sdk/middleware.ts:27


errorMiddleware

errorMiddleware(onError?): ErrorRequestHandler

Catches errors and sets the proper status code.

Parameters

Name Type
onError (err: Error) => void

Returns

ErrorRequestHandler

Defined in

sdk/middleware.ts:91


excludedEmployeesFilterMiddleware

excludedEmployeesFilterMiddleware<Config>(excludeEmployeesKey, message?): RequestHandler

Will not proceed if the employee who's signing in is present in the excluded employees list.

Type parameters

Name
Config

Parameters

Name Type Default value
excludeEmployeesKey keyof Config undefined
message string 'Employee excluded from integration.'

Returns

RequestHandler

Defined in

sdk/filters.ts:43


inviteOnlyEntryFilterMiddleware

inviteOnlyEntryFilterMiddleware<Config>(invitesOnlyKey, message?): RequestHandler

Will only proceed if the entry has an invite and the install's config has a truthy value for the given invitesOnlyKey.

Type parameters

Name
Config

Parameters

Name Type Default value
invitesOnlyKey keyof Config undefined
message string 'Visitors must be invited.'

Returns

RequestHandler

Defined in

sdk/filters.ts:78