Authorization
A package providing a base authorizations class to help check which permissions a user has.
Installation
NPM
npm install @availity/authorizations-axios @availity/api-axios
Yarn
yarn add @availity/authorizations-axios @availity/api-axios
Usage
@availity/authorizations-axios exports a pre-configured singleton that uses AvPermissionsApi and AvRegionsApi from @availity/api-axios. You do not need to provide these yourself.
import avAuthorizations from '@availity/authorizations-axios';
// Check if the user is authorized for a given permission
const authorized = await avAuthorizations.isAuthorized('7890', 'FL');
Methods
For all methods, if no region is passed in, it defaults to the current region (resolved via avRegionsApi.getCurrentRegion()). Permissions are cached after the first fetch — subsequent calls for the same permission/region return cached results without additional network requests.
isAuthorized(permissionId, region)
Returns Promise<boolean> — true if the current user has access to the permission in the given region.
import avAuthorizations from '@availity/authorizations-axios';
const canAccess = await avAuthorizations.isAuthorized('7890');
if (canAccess) {
// show feature
}
isAnyAuthorized(permissionIds, region)
Returns Promise<boolean> — true if the current user has access to any of the permissions in the given region.
const canAccessAny = await avAuthorizations.isAnyAuthorized(['7890', '7891']);
getPermission(permissionId, region)
Returns Promise<{ id, isAuthorized, organizations, geographies }> — the full permission object.
const permission = await avAuthorizations.getPermission('7890');
// {
// id: '7890',
// isAuthorized: true,
// organizations: [{ id: '1234', resources: [...] }],
// geographies: []
// }
getPermissions(permissionIds, region)
Returns Promise<Array<{ id, isAuthorized, organizations, geographies }>> — an array of permission objects.
const permissions = await avAuthorizations.getPermissions(['7890', '7891']);
getOrganizations(permissionId, region)
Returns the organizations array for the given permission. Will be empty if not authorized.
const orgs = await avAuthorizations.getOrganizations('7890');
// [{ id: '1234', resources: [...] }]
getPayers(permissionId, organizationId, region)
Returns the resources array for the given organization within the permission. Returns an empty array if the organization is not found.
const payers = await avAuthorizations.getPayers('7890', '1234');
// [{ id: 'payer1', ... }]