@mintlify/models
Version:
Mintlify models
31 lines (30 loc) • 981 B
JavaScript
/**
* When adding a new Resource/Action here, remember to add it
* to Stytch as well!
*/
export const ACTIONS = ['create', 'read', 'update', 'delete', 'upsert'];
export const ORG_RESOURCES = ['org', 'org.apiKey', 'org.billing'];
export const USER_RESOURCES = ['user', 'user.role'];
export const DEPLOYMENT_RESOURCES = [
'deployment',
'deployment.customDomain',
'deployment.basePath',
'deployment.gitSource',
'deployment.auth',
'deployment.personalization',
];
export const ALL_RESOURCES = [
...ORG_RESOURCES,
...USER_RESOURCES,
...DEPLOYMENT_RESOURCES,
];
export const validResourceSet = new Set(ALL_RESOURCES);
export const validActionSet = new Set(ACTIONS);
export function isValidPermission(permission) {
const parts = permission.split('.');
if (parts.length < 2)
return false;
const action = parts.pop();
const resource = parts.join('.');
return validResourceSet.has(resource) && validActionSet.has(action);
}