UNPKG

@mintlify/models

Version:

Mintlify models

31 lines (30 loc) 981 B
/** * 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); }