Files
Agent-n8n/n8n-n8n-1.109.2/packages/@n8n/permissions/src/schemas.ee.ts
2025-09-08 04:48:28 +08:00

22 lines
832 B
TypeScript
Executable File

import { z } from 'zod';
export const roleNamespaceSchema = z.enum(['global', 'project', 'credential', 'workflow']);
export const globalRoleSchema = z.enum(['global:owner', 'global:admin', 'global:member']);
export const assignableGlobalRoleSchema = globalRoleSchema.exclude([
'global:owner', // Owner cannot be changed
]);
export const personalRoleSchema = z.enum([
'project:personalOwner', // personalOwner is only used for personal projects
]);
export const teamRoleSchema = z.enum(['project:admin', 'project:editor', 'project:viewer']);
export const projectRoleSchema = z.enum([...personalRoleSchema.options, ...teamRoleSchema.options]);
export const credentialSharingRoleSchema = z.enum(['credential:owner', 'credential:user']);
export const workflowSharingRoleSchema = z.enum(['workflow:owner', 'workflow:editor']);