Module Client Persons

@byu-oit-sdk/client-persons

Requirements:

  • Node.js 18+
    • or Node.js 10+ with fetch and crypto polyfills
  • npm v9+

Review the Client documentation for details on what Clients and Commands are.

The Persons Client is an extension of the default client that is specifically designed for making Persons API calls.

Usage

Initializing the client is simple. The Persons Client can be configured with some options to override the default behavior if desired.

const client = new PersonsClient()
// or
const client = new PersonsClient({ /* options here */ })

Here are a list of supported options:

Option Type Default Value Purpose
logger Logger, from pino Pino() (Optional) Logging information from client functionality
credentials CredentialProvider ChainedCredentialProvider() (Optional) The credential provider used resolving access tokens
retry { strategy: RetryMiddlewareConfiguration } { strategy: new RetryStrategy() } (Optional) Configures the retry middleware. The default configuration will attempt one retry when the response contains a 401 HTTP status code.

The default credential provider is the Client Credentials provider. Any of the parameters that it accepts may be supplied via environment variables with the prefix BYU_OIT_. If a different credential provider is needed, such as the Authorization Code provider, it should be configured and passed into the BYU Client constructor.

The default retry strategy retries once on 401 HTTP response codes after a 100-millisecond delay. The token middleware will try to get a new token before the request is sent. Any middleware added after the retry middleware will also be invoked prior to each request retry.

Commands

Currently only two persons commands are supported: GetPersonCommand and GetEmailAddressesCommand.

GetPersonCommand

Use this command to get information about a person (under the hood, the /{byu_id} persons endpoint is called). There is only one parameter: an object that contains a byuId.

const command = new GetPersonCommand({
byuId: '903093516'
})
const data = client.send(command)

See GetPersonOutputSchema for information about the data that is returned.

GetEmailAddressesCommand

Use this command to get email information about a person (under the hood, the /{byu_id}/email_addresses persons endpoint is called). There is only one parameter: an object that contains a byuId.

const command = new GetEmailAddressesCommand({
byuId: '903093516'
})
const data = client.send(command)

See GetEmailAddressOutputSchema for information about the data that is returned.

Index

Classes

Interfaces

Type Aliases

Variables

Generated using TypeDoc