import {
  OrganizationAccessScope,
  ProjectAccessScope,
  TargetAccessScope,
} from '../../auth/providers/scopes';

export const reservedOrganizationSlugs = [
  'registry',
  'server',
  'usage',
  'graphql',
  'api',
  'auth',
  'home',
  'register',
  'login',
  'logout',
  'signup',
  'signin',
  'signout',
  'sign-up',
  'sign-in',
  'sign-out',
  'settings',
  'manage',
  'admin',
  'stats',
  'internal',
  'general',
  'dashboard',
  'index',
  'dev',
  'contact',
  'docs',
  'documentation',
  'help',
  'support',
  'faq',
  'knowledge',
  'internal',
  'action',
  'form',
  'make',
  'in',
  'i',
  'to',
  'from',
  'call',
  'join',
  'view',
  'new',
  'org',
];

export const organizationAdminScopes = [
  ...Object.values(OrganizationAccessScope),
  ...Object.values(ProjectAccessScope),
  ...Object.values(TargetAccessScope),
];

export const organizationViewerScopes = [
  OrganizationAccessScope.READ,
  ProjectAccessScope.READ,
  ProjectAccessScope.OPERATIONS_STORE_READ,
  TargetAccessScope.READ,
  TargetAccessScope.REGISTRY_READ,
];
