1.1.5 • Published 1 year ago

@affinidi-tdk/organizational-wallet-client v1.1.5

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 year ago

@affinidi-tdk/organizational-wallet-client

Service API Endpoints and Models

Please check the documentation for API Endpoints and Models for more details.

Usage

npm install @affinidi-tdk/organizational-wallet-client --save

Http Client settings

We use Axios plugin that intercepts failed requests and retries them whenever possible.

You can configure some of retry parameters:

NameTypeDefaultDescription
retriesNumber3The number of times to retry before failing. 1 = One retry after first failure. The number can be between 0 and 3.
isExponentialDelayBooleanfalseBy default there is no delay between retries. When option is set to true (See Exponential Backoff), the client will periodically retry a failed request over an increasing amount of time.

Please note that retry condition is not configurable and axios-retry default value is used isNetworkOrIdempotentRequestError. It retries if it is a network error or a 5xx error on an idempotent request (GET, HEAD, OPTIONS, PUT or DELETE).

With project scoped token and a custom Http client settings

import {
  SomeClassApi,
  Configuration,
} from '@affinidi-tdk/organizational-wallet-client'

const projectScopedToken = '...' // NOTE: you can get it after making Affinidi Login (via CLI, Dev Portal)

const retryConfig = {
  retries: 2,
  isExponentialDelay: true,
}

const api = new SomeClassApi(
  new Configuration({
    apiKey: projectScopedToken,
    basePath: `${apiGatewayUrl}/`,
  }),
  retryConfig
)

await api.oneOfMethods()

With PAT

šŸ’” To create PAT, use Affinidi CLI's create-token command.

affinidi token create-token -n MyNewToken -w -p YOUR-SECRET-PASSPHRASE

This command will return you variables to initialize AuthProvider as required below.

import {
  SomeClassApi,
  Configuration,
} from '@affinidi-tdk/organizational-wallet-client'
import { AuthProvider } from '@affinidi-tdk/auth-provider'

const authProvider = new AuthProvider({
  apiGatewayUrl,
  keyId,
  tokenId,
  passphrase,
  privateKey,
  publicKey,
  projectId,
  tokenEndpoint,
})

const api = new SomeClassApi(
  new Configuration({
    apiKey: authProvider.fetchProjectScopedToken.bind(authProvider),
    basePath: `${apiGatewayUrl}/`,
  })
)

await api.oneOfMethods()

With session ID via BFF

import {
  SomeClassApi,
  Configuration,
} from '@affinidi-tdk/organizational-wallet-client'
import { getBffHeaders } from '@affinidi/test-auth-provider'

const headers = getBffHeaders(cookieName, sessionId)

const baseOptions = { headers }

const api = new SomeClassApi(
  new Configuration({ basePath: `${bffHost}/`, baseOptions })
)

await api.oneOfMethods()