Skip to main content

Generate URI

Use generateUri from @adminide-stack/core.

params of the URI's query should be sorted in order which the above function does it automatically.

To generate organization URI​

Another helpful function, if generating orgUri.

const orgUri = generateOrgUri(orgName, IConfigFragmentName.settings);

To generate User URI​

In the frontend, we can pass userId as self as there are methods to replace with right value.

import {
IClientCacheTypeNames,
generateResourceUri,
IConfigCollectionName,
TeamContextFragmentDoc,
} from '@adminide-stack/core';

const userProxyURI = generateUserUri('self'); // we don't give `params` in the client side.

If you want to generate User resource URI to use in backend service from a given user's alias.

  const generatedUserUri = generateResourceUri(
IConfigCollectionName.accounts,
{alias: [user.auth0UserId]} as any,
IConfigFragmentName.settings,
)

To generate Resource URI​

import {
IClientCacheTypeNames,
generateResourceUri,
IConfigCollectionName,
TeamContextFragmentDoc,
} from '@adminide-stack/core';

const teamUri = generateResourceUri(
IConfigCollectionName.teams,
{ name: teamName, orgName },
IConfigFragmentName.settings,
);

Fragment name to generate Permission/Policy/Settings URI​

IConfigFragmentName name that is given based on type of URI you want to generate.

For Settings URI: use IConfigFragmentName.settings For Permission URI: use IConfigFragmentName.permissions FOr Policy URI: use IConfigFragmentName.Policy

Params in the generateURI​

Except for OrgURI, rest of the URIs such as UserUri, TeamURI, ProjectURI, ClientURI need to pass Collection Name and Params to filter the resource id

Collection mapping​

Here are following collections avaialble based on the resource URI.

enum IConfigCollectionName {
accounts = "accounts",
organizations = "organizations",
workspaces = "workspaces",
teams = "teams",
projects = "projects",
clients = "clients"
}