@camunda/ccma-shared-types 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/camundi-permission-rules.types.d.ts +5 -0
- package/dist/config/camundi-permission-rules.types.js.map +1 -1
- package/dist/constants/trialExtensionSurvey.const.js +18 -34
- package/dist/constants/trialExtensionSurvey.const.js.map +2 -2
- package/dist/dtos/ControlV2.dto.d.ts +111 -0
- package/dist/dtos/ControlV2.dto.js +1 -0
- package/dist/dtos/ControlV2.dto.js.map +7 -0
- package/dist/dtos/Generations.dto.js.map +2 -2
- package/dist/dtos/SalesPlan.dto.d.ts +7 -2
- package/dist/dtos/SalesPlan.dto.js +6 -0
- package/dist/dtos/SalesPlan.dto.js.map +2 -2
- package/dist/enums/SystemAuditEntity.enum.d.ts +2 -1
- package/dist/enums/SystemAuditEntity.enum.js +1 -0
- package/dist/enums/SystemAuditEntity.enum.js.map +2 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js.map +2 -2
- package/dist/permissions/combo.js +3 -0
- package/dist/permissions/combo.js.map +2 -2
- package/dist/permissions/console.permissions.d.ts +2 -0
- package/dist/permissions/console.permissions.js +7 -0
- package/dist/permissions/console.permissions.js.map +2 -2
- package/dist/permissions/profile.permissions.js +7 -1
- package/dist/permissions/profile.permissions.js.map +2 -2
- package/dist/types/SalesPlanType.type.d.ts +1 -1
- package/dist/types/Telemetry.type.js +4 -6
- package/dist/types/Telemetry.type.js.map +2 -2
- package/dist/utils/labelValidator.utils.js +1 -1
- package/dist/utils/labelValidator.utils.js.map +2 -2
- package/dist/utils/orgs/OrgHelper.js.map +2 -2
- package/dist/utils/user.utils.js.map +2 -2
- package/dist/utils/versionCheck.utils.js +2 -0
- package/dist/utils/versionCheck.utils.js.map +2 -2
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/permissions/combo.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport { AccountsPermissions } from './accounts.permissions.js'\nimport { AuditLoggerPermissions } from './auditlogger.permissions.js'\nimport { ConsolePermissions } from './console.permissions.js'\nimport { NotificationPermissions } from './notification.permissions.js'\n\nexport function accountsUserFeaturesFromPermissions(permissions: string[]) {\n const newFeatures: AccountsPermissions.Features = {\n admin: {\n readAll: permissions.includes(AccountsPermissions.READ_ALL),\n createOrg: permissions.includes(AccountsPermissions.CREATE_ORG),\n changeOrgName: permissions.includes(AccountsPermissions.CHANGE_ORG_NAME),\n\n deleteOrg: permissions.includes(AccountsPermissions.DELETE_ORG),\n resetTokenVerification: permissions.includes(\n AccountsPermissions.RESET_TOKEN_VERIFICATION,\n ),\n deleteUser: permissions.includes(AccountsPermissions.DELETE_USER),\n deleteNotActivatedUser: permissions.includes(\n AccountsPermissions.DELETE_NOT_ACTIVATED_USER,\n ),\n addToOrg: permissions.includes(AccountsPermissions.ADD_TO_ORG),\n removeFromOrg: permissions.includes(AccountsPermissions.REMOVE_FROM_ORG),\n setDefaultOrg: permissions.includes(AccountsPermissions.SET_DEFAULT_ORG),\n cancelInvite: permissions.includes(AccountsPermissions.CANCEL_INVITE),\n changeRole: permissions.includes(AccountsPermissions.CHANGE_ROLE),\n addSafeRole: permissions.includes(AccountsPermissions.CHANGE_SAFE_ROLE),\n deleteClusters: permissions.includes(\n ConsolePermissions.CLUSTERS_DELETE_CLUSTER,\n ),\n extendTrial: permissions.includes(AccountsPermissions.EXTEND_TRIAL),\n invalidateToken: permissions.includes(\n AccountsPermissions.INVALIDATE_TOKEN,\n ),\n cancelPaid: permissions.includes(AccountsPermissions.ORG_CANCEL_PAID),\n searchForOrgs: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_SEE_ALL,\n ),\n readAudit: permissions.includes(AuditLoggerPermissions.READ),\n modifyClusterPlanTypeReservations: permissions.includes(\n AccountsPermissions.MODIFY_CLUSTER_PLAN_TYPE_RESERVATIONS,\n ),\n mayChangeOrgLimits: permissions.includes(\n AccountsPermissions.ORG_MAY_CHANGE_LIMITS,\n ),\n mayChangeGenerationWhiteList: permissions.includes(\n AccountsPermissions.ORG_MAY_CHANGE_GENERATION_WHITELIST,\n ),\n sql: permissions.includes(AccountsPermissions.ADMIN_SQL),\n modelerDeleteUser: permissions.includes(\n AccountsPermissions.MODELER_DELETE_USER,\n ),\n unblockUser: permissions.includes(AccountsPermissions.UNBLOCK_USER),\n god: {\n triggerCrons: permissions.includes(AccountsPermissions.GOD_CRON),\n forceSalesPlanOnOrg: permissions.includes(\n AccountsPermissions.FORCE_SALES_PLAN_ON_ORG,\n ),\n changeSignupSpamPatterns: permissions.includes(\n AccountsPermissions.GOD_SIGNUP_SPAM_PATTERNS,\n ),\n purgeUsers: permissions.includes(AccountsPermissions.GOD_PURGE_USERS),\n updateUserMetadata: permissions.includes(\n AccountsPermissions.GOD_UPDATE_USER_METADATA,\n ),\n },\n bot: permissions.includes(AccountsPermissions.BOT),\n changeEmail: permissions.includes(AccountsPermissions.ADMIN_CHANGE_EMAIL),\n changeUserName: permissions.includes(\n AccountsPermissions.ADMIN_CHANGE_USER_NAME,\n ),\n },\n salesPlan: {\n create: permissions.includes(AccountsPermissions.SALES_PLAN_CREATE),\n modify: permissions.includes(AccountsPermissions.SALES_PLAN_MODIFY),\n forceModify: permissions.includes(\n AccountsPermissions.SALES_PLAN_FORCE_MODIFY,\n ),\n switch: permissions.includes(AccountsPermissions.SALES_PLAN_SWITCH),\n delete: permissions.includes(AccountsPermissions.SALES_PLAN_DELETE),\n godDelete: permissions.includes(\n AccountsPermissions.SALES_PLAN_DELETE_AS_GOD,\n ),\n },\n enterprise: {\n org: {\n convert: permissions.includes(\n AccountsPermissions.ENTERPRISE_ORG_CONVERT,\n ),\n modify: permissions.includes(AccountsPermissions.ENTERPRISE_ORG_MODIFY),\n modifyStartDate: permissions.includes(\n AccountsPermissions.ENTERPRISE_ORG_MODIFY_START_DATE,\n ),\n },\n },\n trial: {\n convertToInNegotiation: permissions.includes(\n AccountsPermissions.TRIAL_TO_IN_NEGOTIATION_CONVERT,\n ),\n },\n supportAgent: {\n removeAgentsFromOrg: permissions.includes(\n AccountsPermissions.SUPPORT_AGENT_REMOVE_AGENTS_FROM_ORG,\n ),\n seeOrgMemberships: permissions.includes(\n AccountsPermissions.SUPPORT_AGENT_SEE_ORG_MEMBERSHIPS,\n ),\n addAgentsToOrg: permissions.includes(\n AccountsPermissions.SUPPORT_AGENT_ADD_TO_ORG,\n ),\n },\n m2m: {\n salesplan: {\n get: permissions.includes(AccountsPermissions.M2M_SALESPLAN_GET),\n switch: permissions.includes(AccountsPermissions.M2M_SALESPLAN_SWITCH),\n },\n fetchMigrationData: permissions.includes(\n ConsolePermissions.M2M_FETCH_MIGRATION_DATA,\n ),\n },\n externalM2m: {\n org: {\n members: {\n get: permissions.includes(\n AccountsPermissions.EXTERNAL_M2M_GET_ORG_MEMBERS,\n ),\n },\n search: permissions.includes(\n AccountsPermissions.EXTERNAL_M2M_SEARCH_ORGS,\n ),\n },\n // eslint-disable-next-line id-length\n qa: {\n org: {\n create: permissions.includes(\n AccountsPermissions.EXTERNAL_M2M_QA_ORG_CREATE,\n ),\n },\n },\n offboarding: {\n camundi: permissions.includes(\n AccountsPermissions.EXTERNAL_M2M_OFFBOARD_CAMUNDI,\n ),\n },\n },\n auth0: {\n connections: {\n create: permissions.includes(\n AccountsPermissions.ADMIN_AUTH0_CONNECTIONS_CREATE,\n ),\n read: permissions.includes(\n AccountsPermissions.ADMIN_AUTH0_CONNECTIONS_READ,\n ),\n update: permissions.includes(\n AccountsPermissions.ADMIN_AUTH0_CONNECTIONS_UPDATE,\n ),\n delete: permissions.includes(\n AccountsPermissions.ADMIN_AUTH0_CONNECTIONS_DELETE,\n ),\n },\n },\n notifications: {\n global: {\n read: permissions.includes(NotificationPermissions.READ_GLOBAL),\n delete: permissions.includes(NotificationPermissions.DELETE_GLOBAL),\n create: permissions.includes(NotificationPermissions.CREATE_GLOBAL),\n },\n },\n earlyAccessFeatures: {\n read: permissions.includes(\n AccountsPermissions.ADMIN_EARLY_ACCESS_FEATURES_READ,\n ),\n create: permissions.includes(\n AccountsPermissions.ADMIN_EARLY_ACCESS_FEATURES_CREATE,\n ),\n delete: permissions.includes(\n AccountsPermissions.ADMIN_EARLY_ACCESS_FEATURES_DELETE,\n ),\n update: permissions.includes(\n AccountsPermissions.ADMIN_EARLY_ACCESS_FEATURES_UPDATE,\n ),\n },\n pdfWatermark: {\n read: permissions.includes(AccountsPermissions.PDF_WATERMARK_READ),\n write: permissions.includes(AccountsPermissions.PDF_WATERMARK_WRITE),\n },\n }\n return newFeatures\n}\n\nexport function consoleUserFeaturesFromPermissions(permissions: string[]) {\n const newFeatures: ConsolePermissions.Features = {\n apiClient: {\n read: permissions.includes(ConsolePermissions.APICLIENT_READ),\n delete: permissions.includes(ConsolePermissions.APICLIENT_DELETE),\n },\n multiCluster: {\n admin: permissions.includes(ConsolePermissions.MULTICLUSTER_ADMIN),\n },\n multiGen: {\n admin: {\n see: permissions.includes(\n ConsolePermissions.CHANNELS_AND_GENERATIONS_ADMIN_SEE,\n ),\n modify: permissions.includes(\n ConsolePermissions.CHANNELS_AND_GENERATIONS_ADMIN,\n ),\n patchExistingChannel: permissions.includes(\n ConsolePermissions.CHANNELS_AND_GENERATIONS_ADMIN_PATCH_EXISTING_CHANNEL,\n ),\n migrate: permissions.includes(\n ConsolePermissions.CHANNELS_AND_GENERATIONS_ADMIN_MIGRATE,\n ),\n deleteAllClustersOfGeneration: permissions.includes(\n ConsolePermissions.CHANNELS_AND_GENERATIONS_ADMIN_DELETE_ALL_CLUSTERS,\n ),\n },\n releaseTrain: {\n publish: permissions.includes(ConsolePermissions.RELEASE_TRAIN_PUBLISH),\n },\n },\n clusters: {\n canReadAllClusterInfo: permissions.includes(\n ConsolePermissions.CLUSTERS_READALLCLUSTERINFO,\n ),\n canDeleteAllClusters: permissions.includes(\n ConsolePermissions.CLUSTERS_DELETE_CLUSTER,\n ),\n canMoveToOtherOrg: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_MOVE_TO_OTHER_ORG,\n ),\n createOnBehalf: permissions.includes(\n ConsolePermissions.CLUSTER_CREATE_ON_BEHALF,\n ),\n canSendToSleep: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_SEND_TO_SLEEP,\n ),\n canUpdateClusterPlanType: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_UPDATE_CLUSTERPLANTYPE,\n ),\n canOverrideEnvVars: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_OVERRIDE_ENV_VARS,\n ),\n canUpgradeGeneration: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_UPDATE_GENERATION,\n ),\n canUpgradeGenerationYolo: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_UPDATE_GENERATION_YOLO,\n ),\n },\n clusterPlan: {\n seeAll: permissions.includes(ConsolePermissions.CLUSTER_PLAN_SEE_ALL),\n create: permissions.includes(ConsolePermissions.CLUSTER_PLAN_CREATE),\n delete: permissions.includes(ConsolePermissions.CLUSTER_PLAN_DELETE),\n type: {\n create: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_TYPE_CREATE,\n ),\n modify: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_TYPE_MODIFY,\n ),\n delete: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_TYPE_DELETE,\n ),\n forceDelete: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_TYPE_FORCE_DELETE,\n ),\n },\n migrate: permissions.includes(ConsolePermissions.CLUSTER_PLAN_MIGRATE),\n deleteAllClustersOfPlan: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_CAN_DELETE_ALL_CLUSTERS_OF_PLAN,\n ),\n modify: permissions.includes(ConsolePermissions.CLUSTER_PLAN_CAN_MODIFY),\n },\n features: {\n newHome: permissions.includes(ConsolePermissions.FEATURE_NEW_HOME),\n templatePicker: permissions.includes(\n ConsolePermissions.FEATURE_TEMPLATE_PICKER,\n ),\n userSettings: permissions.includes(ConsolePermissions.USER_SETTINGS),\n debug: permissions.includes(ConsolePermissions.DEBUG),\n },\n m2m: {\n updateCrd: permissions.includes(ConsolePermissions.M2M_UPDATE_CRD),\n signup: permissions.includes(ConsolePermissions.M2M_SIGNUP),\n triggerAlert: permissions.includes(ConsolePermissions.M2M_TRIGGER_ALERT),\n deleteOrgClusters: permissions.includes(\n ConsolePermissions.M2M_DELETE_ORG_CLUSTERS,\n ),\n updateOrgClusters: permissions.includes(\n ConsolePermissions.M2M_UPDATE_ORG_CLUSTERS,\n ),\n addUsageMetrics: permissions.includes(\n ConsolePermissions.M2M_ADD_CLUSTER_USAGE_METRICS,\n ),\n sendSseEvent: permissions.includes(ConsolePermissions.M2M_SEND_SSE_EVENT),\n external: {\n internalClient: permissions.includes(\n ConsolePermissions.M2M_EXTERNAL_INTERNAL_CLIENT,\n ),\n },\n fetchMigrationData: permissions.includes(\n ConsolePermissions.M2M_FETCH_MIGRATION_DATA,\n ),\n manageGenerationUpgradePath: permissions.includes(\n ConsolePermissions.M2M_MANAGE_GENERATION_UPGRADE_PATH,\n ),\n },\n }\n return newFeatures\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport { AccountsPermissions } from './accounts.permissions.js'\nimport { AuditLoggerPermissions } from './auditlogger.permissions.js'\nimport { ConsolePermissions } from './console.permissions.js'\nimport { NotificationPermissions } from './notification.permissions.js'\n\nexport function accountsUserFeaturesFromPermissions(permissions: string[]) {\n const newFeatures: AccountsPermissions.Features = {\n admin: {\n readAll: permissions.includes(AccountsPermissions.READ_ALL),\n createOrg: permissions.includes(AccountsPermissions.CREATE_ORG),\n changeOrgName: permissions.includes(AccountsPermissions.CHANGE_ORG_NAME),\n\n deleteOrg: permissions.includes(AccountsPermissions.DELETE_ORG),\n resetTokenVerification: permissions.includes(\n AccountsPermissions.RESET_TOKEN_VERIFICATION,\n ),\n deleteUser: permissions.includes(AccountsPermissions.DELETE_USER),\n deleteNotActivatedUser: permissions.includes(\n AccountsPermissions.DELETE_NOT_ACTIVATED_USER,\n ),\n addToOrg: permissions.includes(AccountsPermissions.ADD_TO_ORG),\n removeFromOrg: permissions.includes(AccountsPermissions.REMOVE_FROM_ORG),\n setDefaultOrg: permissions.includes(AccountsPermissions.SET_DEFAULT_ORG),\n cancelInvite: permissions.includes(AccountsPermissions.CANCEL_INVITE),\n changeRole: permissions.includes(AccountsPermissions.CHANGE_ROLE),\n addSafeRole: permissions.includes(AccountsPermissions.CHANGE_SAFE_ROLE),\n deleteClusters: permissions.includes(\n ConsolePermissions.CLUSTERS_DELETE_CLUSTER,\n ),\n extendTrial: permissions.includes(AccountsPermissions.EXTEND_TRIAL),\n invalidateToken: permissions.includes(\n AccountsPermissions.INVALIDATE_TOKEN,\n ),\n cancelPaid: permissions.includes(AccountsPermissions.ORG_CANCEL_PAID),\n searchForOrgs: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_SEE_ALL,\n ),\n readAudit: permissions.includes(AuditLoggerPermissions.READ),\n modifyClusterPlanTypeReservations: permissions.includes(\n AccountsPermissions.MODIFY_CLUSTER_PLAN_TYPE_RESERVATIONS,\n ),\n mayChangeOrgLimits: permissions.includes(\n AccountsPermissions.ORG_MAY_CHANGE_LIMITS,\n ),\n mayChangeGenerationWhiteList: permissions.includes(\n AccountsPermissions.ORG_MAY_CHANGE_GENERATION_WHITELIST,\n ),\n sql: permissions.includes(AccountsPermissions.ADMIN_SQL),\n modelerDeleteUser: permissions.includes(\n AccountsPermissions.MODELER_DELETE_USER,\n ),\n unblockUser: permissions.includes(AccountsPermissions.UNBLOCK_USER),\n god: {\n triggerCrons: permissions.includes(AccountsPermissions.GOD_CRON),\n forceSalesPlanOnOrg: permissions.includes(\n AccountsPermissions.FORCE_SALES_PLAN_ON_ORG,\n ),\n changeSignupSpamPatterns: permissions.includes(\n AccountsPermissions.GOD_SIGNUP_SPAM_PATTERNS,\n ),\n purgeUsers: permissions.includes(AccountsPermissions.GOD_PURGE_USERS),\n updateUserMetadata: permissions.includes(\n AccountsPermissions.GOD_UPDATE_USER_METADATA,\n ),\n },\n bot: permissions.includes(AccountsPermissions.BOT),\n changeEmail: permissions.includes(AccountsPermissions.ADMIN_CHANGE_EMAIL),\n changeUserName: permissions.includes(\n AccountsPermissions.ADMIN_CHANGE_USER_NAME,\n ),\n },\n salesPlan: {\n create: permissions.includes(AccountsPermissions.SALES_PLAN_CREATE),\n modify: permissions.includes(AccountsPermissions.SALES_PLAN_MODIFY),\n forceModify: permissions.includes(\n AccountsPermissions.SALES_PLAN_FORCE_MODIFY,\n ),\n switch: permissions.includes(AccountsPermissions.SALES_PLAN_SWITCH),\n delete: permissions.includes(AccountsPermissions.SALES_PLAN_DELETE),\n godDelete: permissions.includes(\n AccountsPermissions.SALES_PLAN_DELETE_AS_GOD,\n ),\n },\n enterprise: {\n org: {\n convert: permissions.includes(\n AccountsPermissions.ENTERPRISE_ORG_CONVERT,\n ),\n modify: permissions.includes(AccountsPermissions.ENTERPRISE_ORG_MODIFY),\n modifyStartDate: permissions.includes(\n AccountsPermissions.ENTERPRISE_ORG_MODIFY_START_DATE,\n ),\n },\n },\n trial: {\n convertToInNegotiation: permissions.includes(\n AccountsPermissions.TRIAL_TO_IN_NEGOTIATION_CONVERT,\n ),\n },\n supportAgent: {\n removeAgentsFromOrg: permissions.includes(\n AccountsPermissions.SUPPORT_AGENT_REMOVE_AGENTS_FROM_ORG,\n ),\n seeOrgMemberships: permissions.includes(\n AccountsPermissions.SUPPORT_AGENT_SEE_ORG_MEMBERSHIPS,\n ),\n addAgentsToOrg: permissions.includes(\n AccountsPermissions.SUPPORT_AGENT_ADD_TO_ORG,\n ),\n },\n m2m: {\n salesplan: {\n get: permissions.includes(AccountsPermissions.M2M_SALESPLAN_GET),\n switch: permissions.includes(AccountsPermissions.M2M_SALESPLAN_SWITCH),\n },\n fetchMigrationData: permissions.includes(\n ConsolePermissions.M2M_FETCH_MIGRATION_DATA,\n ),\n },\n externalM2m: {\n org: {\n members: {\n get: permissions.includes(\n AccountsPermissions.EXTERNAL_M2M_GET_ORG_MEMBERS,\n ),\n },\n search: permissions.includes(\n AccountsPermissions.EXTERNAL_M2M_SEARCH_ORGS,\n ),\n },\n // eslint-disable-next-line id-length\n qa: {\n org: {\n create: permissions.includes(\n AccountsPermissions.EXTERNAL_M2M_QA_ORG_CREATE,\n ),\n },\n },\n offboarding: {\n camundi: permissions.includes(\n AccountsPermissions.EXTERNAL_M2M_OFFBOARD_CAMUNDI,\n ),\n },\n },\n auth0: {\n connections: {\n create: permissions.includes(\n AccountsPermissions.ADMIN_AUTH0_CONNECTIONS_CREATE,\n ),\n read: permissions.includes(\n AccountsPermissions.ADMIN_AUTH0_CONNECTIONS_READ,\n ),\n update: permissions.includes(\n AccountsPermissions.ADMIN_AUTH0_CONNECTIONS_UPDATE,\n ),\n delete: permissions.includes(\n AccountsPermissions.ADMIN_AUTH0_CONNECTIONS_DELETE,\n ),\n },\n },\n notifications: {\n global: {\n read: permissions.includes(NotificationPermissions.READ_GLOBAL),\n delete: permissions.includes(NotificationPermissions.DELETE_GLOBAL),\n create: permissions.includes(NotificationPermissions.CREATE_GLOBAL),\n },\n },\n earlyAccessFeatures: {\n read: permissions.includes(\n AccountsPermissions.ADMIN_EARLY_ACCESS_FEATURES_READ,\n ),\n create: permissions.includes(\n AccountsPermissions.ADMIN_EARLY_ACCESS_FEATURES_CREATE,\n ),\n delete: permissions.includes(\n AccountsPermissions.ADMIN_EARLY_ACCESS_FEATURES_DELETE,\n ),\n update: permissions.includes(\n AccountsPermissions.ADMIN_EARLY_ACCESS_FEATURES_UPDATE,\n ),\n },\n pdfWatermark: {\n read: permissions.includes(AccountsPermissions.PDF_WATERMARK_READ),\n write: permissions.includes(AccountsPermissions.PDF_WATERMARK_WRITE),\n },\n }\n return newFeatures\n}\n\nexport function consoleUserFeaturesFromPermissions(permissions: string[]) {\n const newFeatures: ConsolePermissions.Features = {\n apiClient: {\n read: permissions.includes(ConsolePermissions.APICLIENT_READ),\n delete: permissions.includes(ConsolePermissions.APICLIENT_DELETE),\n },\n multiCluster: {\n admin: permissions.includes(ConsolePermissions.MULTICLUSTER_ADMIN),\n },\n multiGen: {\n admin: {\n see: permissions.includes(\n ConsolePermissions.CHANNELS_AND_GENERATIONS_ADMIN_SEE,\n ),\n modify: permissions.includes(\n ConsolePermissions.CHANNELS_AND_GENERATIONS_ADMIN,\n ),\n patchExistingChannel: permissions.includes(\n ConsolePermissions.CHANNELS_AND_GENERATIONS_ADMIN_PATCH_EXISTING_CHANNEL,\n ),\n migrate: permissions.includes(\n ConsolePermissions.CHANNELS_AND_GENERATIONS_ADMIN_MIGRATE,\n ),\n deleteAllClustersOfGeneration: permissions.includes(\n ConsolePermissions.CHANNELS_AND_GENERATIONS_ADMIN_DELETE_ALL_CLUSTERS,\n ),\n },\n releaseTrain: {\n publish: permissions.includes(ConsolePermissions.RELEASE_TRAIN_PUBLISH),\n },\n },\n clusters: {\n canReadAllClusterInfo: permissions.includes(\n ConsolePermissions.CLUSTERS_READALLCLUSTERINFO,\n ),\n canDeleteAllClusters: permissions.includes(\n ConsolePermissions.CLUSTERS_DELETE_CLUSTER,\n ),\n canMoveToOtherOrg: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_MOVE_TO_OTHER_ORG,\n ),\n createOnBehalf: permissions.includes(\n ConsolePermissions.CLUSTER_CREATE_ON_BEHALF,\n ),\n canSendToSleep: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_SEND_TO_SLEEP,\n ),\n canUpdateClusterPlanType: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_UPDATE_CLUSTERPLANTYPE,\n ),\n canOverrideEnvVars: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_OVERRIDE_ENV_VARS,\n ),\n canCreateModificationConfig: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_CREATE_MODIFICATION_CONFIG,\n ),\n canUpgradeGeneration: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_UPDATE_GENERATION,\n ),\n canUpgradeGenerationYolo: permissions.includes(\n ConsolePermissions.CLUSTERS_CAN_UPDATE_GENERATION_YOLO,\n ),\n },\n clusterPlan: {\n seeAll: permissions.includes(ConsolePermissions.CLUSTER_PLAN_SEE_ALL),\n create: permissions.includes(ConsolePermissions.CLUSTER_PLAN_CREATE),\n delete: permissions.includes(ConsolePermissions.CLUSTER_PLAN_DELETE),\n type: {\n create: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_TYPE_CREATE,\n ),\n modify: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_TYPE_MODIFY,\n ),\n delete: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_TYPE_DELETE,\n ),\n forceDelete: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_TYPE_FORCE_DELETE,\n ),\n },\n migrate: permissions.includes(ConsolePermissions.CLUSTER_PLAN_MIGRATE),\n deleteAllClustersOfPlan: permissions.includes(\n ConsolePermissions.CLUSTER_PLAN_CAN_DELETE_ALL_CLUSTERS_OF_PLAN,\n ),\n modify: permissions.includes(ConsolePermissions.CLUSTER_PLAN_CAN_MODIFY),\n },\n features: {\n newHome: permissions.includes(ConsolePermissions.FEATURE_NEW_HOME),\n templatePicker: permissions.includes(\n ConsolePermissions.FEATURE_TEMPLATE_PICKER,\n ),\n userSettings: permissions.includes(ConsolePermissions.USER_SETTINGS),\n debug: permissions.includes(ConsolePermissions.DEBUG),\n },\n m2m: {\n updateCrd: permissions.includes(ConsolePermissions.M2M_UPDATE_CRD),\n signup: permissions.includes(ConsolePermissions.M2M_SIGNUP),\n triggerAlert: permissions.includes(ConsolePermissions.M2M_TRIGGER_ALERT),\n deleteOrgClusters: permissions.includes(\n ConsolePermissions.M2M_DELETE_ORG_CLUSTERS,\n ),\n updateOrgClusters: permissions.includes(\n ConsolePermissions.M2M_UPDATE_ORG_CLUSTERS,\n ),\n addUsageMetrics: permissions.includes(\n ConsolePermissions.M2M_ADD_CLUSTER_USAGE_METRICS,\n ),\n sendSseEvent: permissions.includes(ConsolePermissions.M2M_SEND_SSE_EVENT),\n external: {\n internalClient: permissions.includes(\n ConsolePermissions.M2M_EXTERNAL_INTERNAL_CLIENT,\n ),\n },\n fetchMigrationData: permissions.includes(\n ConsolePermissions.M2M_FETCH_MIGRATION_DATA,\n ),\n manageGenerationUpgradePath: permissions.includes(\n ConsolePermissions.M2M_MANAGE_GENERATION_UPGRADE_PATH,\n ),\n },\n }\n return newFeatures\n}\n"],
|
|
5
|
+
"mappings": "AAMA,SAAS,2BAA2B;AACpC,SAAS,8BAA8B;AACvC,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AAEjC,SAAS,oCAAoC,aAAuB;AACzE,QAAM,cAA4C;AAAA,IAChD,OAAO;AAAA,MACL,SAAS,YAAY,SAAS,oBAAoB,QAAQ;AAAA,MAC1D,WAAW,YAAY,SAAS,oBAAoB,UAAU;AAAA,MAC9D,eAAe,YAAY,SAAS,oBAAoB,eAAe;AAAA,MAEvE,WAAW,YAAY,SAAS,oBAAoB,UAAU;AAAA,MAC9D,wBAAwB,YAAY;AAAA,QAClC,oBAAoB;AAAA,MACtB;AAAA,MACA,YAAY,YAAY,SAAS,oBAAoB,WAAW;AAAA,MAChE,wBAAwB,YAAY;AAAA,QAClC,oBAAoB;AAAA,MACtB;AAAA,MACA,UAAU,YAAY,SAAS,oBAAoB,UAAU;AAAA,MAC7D,eAAe,YAAY,SAAS,oBAAoB,eAAe;AAAA,MACvE,eAAe,YAAY,SAAS,oBAAoB,eAAe;AAAA,MACvE,cAAc,YAAY,SAAS,oBAAoB,aAAa;AAAA,MACpE,YAAY,YAAY,SAAS,oBAAoB,WAAW;AAAA,MAChE,aAAa,YAAY,SAAS,oBAAoB,gBAAgB;AAAA,MACtE,gBAAgB,YAAY;AAAA,QAC1B,mBAAmB;AAAA,MACrB;AAAA,MACA,aAAa,YAAY,SAAS,oBAAoB,YAAY;AAAA,MAClE,iBAAiB,YAAY;AAAA,QAC3B,oBAAoB;AAAA,MACtB;AAAA,MACA,YAAY,YAAY,SAAS,oBAAoB,eAAe;AAAA,MACpE,eAAe,YAAY;AAAA,QACzB,mBAAmB;AAAA,MACrB;AAAA,MACA,WAAW,YAAY,SAAS,uBAAuB,IAAI;AAAA,MAC3D,mCAAmC,YAAY;AAAA,QAC7C,oBAAoB;AAAA,MACtB;AAAA,MACA,oBAAoB,YAAY;AAAA,QAC9B,oBAAoB;AAAA,MACtB;AAAA,MACA,8BAA8B,YAAY;AAAA,QACxC,oBAAoB;AAAA,MACtB;AAAA,MACA,KAAK,YAAY,SAAS,oBAAoB,SAAS;AAAA,MACvD,mBAAmB,YAAY;AAAA,QAC7B,oBAAoB;AAAA,MACtB;AAAA,MACA,aAAa,YAAY,SAAS,oBAAoB,YAAY;AAAA,MAClE,KAAK;AAAA,QACH,cAAc,YAAY,SAAS,oBAAoB,QAAQ;AAAA,QAC/D,qBAAqB,YAAY;AAAA,UAC/B,oBAAoB;AAAA,QACtB;AAAA,QACA,0BAA0B,YAAY;AAAA,UACpC,oBAAoB;AAAA,QACtB;AAAA,QACA,YAAY,YAAY,SAAS,oBAAoB,eAAe;AAAA,QACpE,oBAAoB,YAAY;AAAA,UAC9B,oBAAoB;AAAA,QACtB;AAAA,MACF;AAAA,MACA,KAAK,YAAY,SAAS,oBAAoB,GAAG;AAAA,MACjD,aAAa,YAAY,SAAS,oBAAoB,kBAAkB;AAAA,MACxE,gBAAgB,YAAY;AAAA,QAC1B,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,QAAQ,YAAY,SAAS,oBAAoB,iBAAiB;AAAA,MAClE,QAAQ,YAAY,SAAS,oBAAoB,iBAAiB;AAAA,MAClE,aAAa,YAAY;AAAA,QACvB,oBAAoB;AAAA,MACtB;AAAA,MACA,QAAQ,YAAY,SAAS,oBAAoB,iBAAiB;AAAA,MAClE,QAAQ,YAAY,SAAS,oBAAoB,iBAAiB;AAAA,MAClE,WAAW,YAAY;AAAA,QACrB,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV,KAAK;AAAA,QACH,SAAS,YAAY;AAAA,UACnB,oBAAoB;AAAA,QACtB;AAAA,QACA,QAAQ,YAAY,SAAS,oBAAoB,qBAAqB;AAAA,QACtE,iBAAiB,YAAY;AAAA,UAC3B,oBAAoB;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,wBAAwB,YAAY;AAAA,QAClC,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,qBAAqB,YAAY;AAAA,QAC/B,oBAAoB;AAAA,MACtB;AAAA,MACA,mBAAmB,YAAY;AAAA,QAC7B,oBAAoB;AAAA,MACtB;AAAA,MACA,gBAAgB,YAAY;AAAA,QAC1B,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,KAAK;AAAA,MACH,WAAW;AAAA,QACT,KAAK,YAAY,SAAS,oBAAoB,iBAAiB;AAAA,QAC/D,QAAQ,YAAY,SAAS,oBAAoB,oBAAoB;AAAA,MACvE;AAAA,MACA,oBAAoB,YAAY;AAAA,QAC9B,mBAAmB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,KAAK;AAAA,QACH,SAAS;AAAA,UACP,KAAK,YAAY;AAAA,YACf,oBAAoB;AAAA,UACtB;AAAA,QACF;AAAA,QACA,QAAQ,YAAY;AAAA,UAClB,oBAAoB;AAAA,QACtB;AAAA,MACF;AAAA;AAAA,MAEA,IAAI;AAAA,QACF,KAAK;AAAA,UACH,QAAQ,YAAY;AAAA,YAClB,oBAAoB;AAAA,UACtB;AAAA,QACF;AAAA,MACF;AAAA,MACA,aAAa;AAAA,QACX,SAAS,YAAY;AAAA,UACnB,oBAAoB;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,aAAa;AAAA,QACX,QAAQ,YAAY;AAAA,UAClB,oBAAoB;AAAA,QACtB;AAAA,QACA,MAAM,YAAY;AAAA,UAChB,oBAAoB;AAAA,QACtB;AAAA,QACA,QAAQ,YAAY;AAAA,UAClB,oBAAoB;AAAA,QACtB;AAAA,QACA,QAAQ,YAAY;AAAA,UAClB,oBAAoB;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,QAAQ;AAAA,QACN,MAAM,YAAY,SAAS,wBAAwB,WAAW;AAAA,QAC9D,QAAQ,YAAY,SAAS,wBAAwB,aAAa;AAAA,QAClE,QAAQ,YAAY,SAAS,wBAAwB,aAAa;AAAA,MACpE;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB,MAAM,YAAY;AAAA,QAChB,oBAAoB;AAAA,MACtB;AAAA,MACA,QAAQ,YAAY;AAAA,QAClB,oBAAoB;AAAA,MACtB;AAAA,MACA,QAAQ,YAAY;AAAA,QAClB,oBAAoB;AAAA,MACtB;AAAA,MACA,QAAQ,YAAY;AAAA,QAClB,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,MAAM,YAAY,SAAS,oBAAoB,kBAAkB;AAAA,MACjE,OAAO,YAAY,SAAS,oBAAoB,mBAAmB;AAAA,IACrE;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,mCAAmC,aAAuB;AACxE,QAAM,cAA2C;AAAA,IAC/C,WAAW;AAAA,MACT,MAAM,YAAY,SAAS,mBAAmB,cAAc;AAAA,MAC5D,QAAQ,YAAY,SAAS,mBAAmB,gBAAgB;AAAA,IAClE;AAAA,IACA,cAAc;AAAA,MACZ,OAAO,YAAY,SAAS,mBAAmB,kBAAkB;AAAA,IACnE;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,QACL,KAAK,YAAY;AAAA,UACf,mBAAmB;AAAA,QACrB;AAAA,QACA,QAAQ,YAAY;AAAA,UAClB,mBAAmB;AAAA,QACrB;AAAA,QACA,sBAAsB,YAAY;AAAA,UAChC,mBAAmB;AAAA,QACrB;AAAA,QACA,SAAS,YAAY;AAAA,UACnB,mBAAmB;AAAA,QACrB;AAAA,QACA,+BAA+B,YAAY;AAAA,UACzC,mBAAmB;AAAA,QACrB;AAAA,MACF;AAAA,MACA,cAAc;AAAA,QACZ,SAAS,YAAY,SAAS,mBAAmB,qBAAqB;AAAA,MACxE;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,uBAAuB,YAAY;AAAA,QACjC,mBAAmB;AAAA,MACrB;AAAA,MACA,sBAAsB,YAAY;AAAA,QAChC,mBAAmB;AAAA,MACrB;AAAA,MACA,mBAAmB,YAAY;AAAA,QAC7B,mBAAmB;AAAA,MACrB;AAAA,MACA,gBAAgB,YAAY;AAAA,QAC1B,mBAAmB;AAAA,MACrB;AAAA,MACA,gBAAgB,YAAY;AAAA,QAC1B,mBAAmB;AAAA,MACrB;AAAA,MACA,0BAA0B,YAAY;AAAA,QACpC,mBAAmB;AAAA,MACrB;AAAA,MACA,oBAAoB,YAAY;AAAA,QAC9B,mBAAmB;AAAA,MACrB;AAAA,MACA,6BAA6B,YAAY;AAAA,QACvC,mBAAmB;AAAA,MACrB;AAAA,MACA,sBAAsB,YAAY;AAAA,QAChC,mBAAmB;AAAA,MACrB;AAAA,MACA,0BAA0B,YAAY;AAAA,QACpC,mBAAmB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,QAAQ,YAAY,SAAS,mBAAmB,oBAAoB;AAAA,MACpE,QAAQ,YAAY,SAAS,mBAAmB,mBAAmB;AAAA,MACnE,QAAQ,YAAY,SAAS,mBAAmB,mBAAmB;AAAA,MACnE,MAAM;AAAA,QACJ,QAAQ,YAAY;AAAA,UAClB,mBAAmB;AAAA,QACrB;AAAA,QACA,QAAQ,YAAY;AAAA,UAClB,mBAAmB;AAAA,QACrB;AAAA,QACA,QAAQ,YAAY;AAAA,UAClB,mBAAmB;AAAA,QACrB;AAAA,QACA,aAAa,YAAY;AAAA,UACvB,mBAAmB;AAAA,QACrB;AAAA,MACF;AAAA,MACA,SAAS,YAAY,SAAS,mBAAmB,oBAAoB;AAAA,MACrE,yBAAyB,YAAY;AAAA,QACnC,mBAAmB;AAAA,MACrB;AAAA,MACA,QAAQ,YAAY,SAAS,mBAAmB,uBAAuB;AAAA,IACzE;AAAA,IACA,UAAU;AAAA,MACR,SAAS,YAAY,SAAS,mBAAmB,gBAAgB;AAAA,MACjE,gBAAgB,YAAY;AAAA,QAC1B,mBAAmB;AAAA,MACrB;AAAA,MACA,cAAc,YAAY,SAAS,mBAAmB,aAAa;AAAA,MACnE,OAAO,YAAY,SAAS,mBAAmB,KAAK;AAAA,IACtD;AAAA,IACA,KAAK;AAAA,MACH,WAAW,YAAY,SAAS,mBAAmB,cAAc;AAAA,MACjE,QAAQ,YAAY,SAAS,mBAAmB,UAAU;AAAA,MAC1D,cAAc,YAAY,SAAS,mBAAmB,iBAAiB;AAAA,MACvE,mBAAmB,YAAY;AAAA,QAC7B,mBAAmB;AAAA,MACrB;AAAA,MACA,mBAAmB,YAAY;AAAA,QAC7B,mBAAmB;AAAA,MACrB;AAAA,MACA,iBAAiB,YAAY;AAAA,QAC3B,mBAAmB;AAAA,MACrB;AAAA,MACA,cAAc,YAAY,SAAS,mBAAmB,kBAAkB;AAAA,MACxE,UAAU;AAAA,QACR,gBAAgB,YAAY;AAAA,UAC1B,mBAAmB;AAAA,QACrB;AAAA,MACF;AAAA,MACA,oBAAoB,YAAY;AAAA,QAC9B,mBAAmB;AAAA,MACrB;AAAA,MACA,6BAA6B,YAAY;AAAA,QACvC,mBAAmB;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -40,6 +40,7 @@ export declare namespace ConsolePermissions {
|
|
|
40
40
|
const FEATURE_TEMPLATE_PICKER = "cftp";
|
|
41
41
|
const USER_SETTINGS = "cus";
|
|
42
42
|
const CLUSTERS_CAN_OVERRIDE_ENV_VARS = "ccoev";
|
|
43
|
+
const CLUSTERS_CAN_CREATE_MODIFICATION_CONFIG = "ccccmc";
|
|
43
44
|
const DEBUG = "cdbg";
|
|
44
45
|
const GOD_TRIGGER_CRONS = "gtc";
|
|
45
46
|
const RELEASE_TRAIN_PUBLISH = "crtp";
|
|
@@ -73,6 +74,7 @@ export declare namespace ConsolePermissions {
|
|
|
73
74
|
canSendToSleep: boolean;
|
|
74
75
|
canUpdateClusterPlanType: boolean;
|
|
75
76
|
canOverrideEnvVars: boolean;
|
|
77
|
+
canCreateModificationConfig: boolean;
|
|
76
78
|
canUpgradeGeneration: boolean;
|
|
77
79
|
canUpgradeGenerationYolo: boolean;
|
|
78
80
|
};
|
|
@@ -44,6 +44,7 @@ var ConsolePermissions;
|
|
|
44
44
|
ConsolePermissions2.FEATURE_TEMPLATE_PICKER = "cftp";
|
|
45
45
|
ConsolePermissions2.USER_SETTINGS = "cus";
|
|
46
46
|
ConsolePermissions2.CLUSTERS_CAN_OVERRIDE_ENV_VARS = "ccoev";
|
|
47
|
+
ConsolePermissions2.CLUSTERS_CAN_CREATE_MODIFICATION_CONFIG = "ccccmc";
|
|
47
48
|
ConsolePermissions2.DEBUG = "cdbg";
|
|
48
49
|
ConsolePermissions2.GOD_TRIGGER_CRONS = "gtc";
|
|
49
50
|
ConsolePermissions2.RELEASE_TRAIN_PUBLISH = "crtp";
|
|
@@ -76,6 +77,7 @@ var ConsolePermissions;
|
|
|
76
77
|
canSendToSleep: false,
|
|
77
78
|
canUpdateClusterPlanType: false,
|
|
78
79
|
canOverrideEnvVars: false,
|
|
80
|
+
canCreateModificationConfig: false,
|
|
79
81
|
canUpgradeGeneration: false,
|
|
80
82
|
canUpgradeGenerationYolo: false
|
|
81
83
|
},
|
|
@@ -333,6 +335,11 @@ var ConsolePermissions;
|
|
|
333
335
|
description: "can set Env Vars on cluster level that override all ClusterPlan Env Vars",
|
|
334
336
|
initialRoles: ["console:admin", "console:operationsEngineer"]
|
|
335
337
|
},
|
|
338
|
+
{
|
|
339
|
+
value: ConsolePermissions2.CLUSTERS_CAN_CREATE_MODIFICATION_CONFIG,
|
|
340
|
+
description: "can create cluster modification configs",
|
|
341
|
+
initialRoles: ["console:admin", "console:operationsEngineer"]
|
|
342
|
+
},
|
|
336
343
|
{
|
|
337
344
|
value: ConsolePermissions2.CLUSTERS_CAN_UPDATE_CLUSTERPLANTYPE,
|
|
338
345
|
description: "can update clusterplantype of a running cluster",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/permissions/console.permissions.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type { Roles } from '../types/Roles.js'\n\nexport namespace ConsolePermissions {\n export const MULTICLUSTER_ADMIN = 'cmca'\n\n export const CHANNELS_AND_GENERATIONS_ADMIN_DELETE_ALL_CLUSTERS = 'cmgda'\n export const CHANNELS_AND_GENERATIONS_ADMIN_SEE = 'cmgas'\n export const CHANNELS_AND_GENERATIONS_ADMIN = 'cmga'\n export const CHANNELS_AND_GENERATIONS_ADMIN_PATCH_EXISTING_CHANNEL = 'cmgap'\n export const CHANNELS_AND_GENERATIONS_ADMIN_MIGRATE = 'cmgam'\n export const CHANNELS_AND_GENERATIONS_MIGRATE = 'cmgm'\n export const ALL_CHANNELS_AND_GENERATIONS: string[] = [\n CHANNELS_AND_GENERATIONS_ADMIN_SEE,\n CHANNELS_AND_GENERATIONS_ADMIN,\n CHANNELS_AND_GENERATIONS_ADMIN_MIGRATE,\n ]\n export const CLUSTERS_READALLCLUSTERINFO = 'ccrai'\n export const CLUSTERS_DELETE_CLUSTER = 'ccda'\n export const CLUSTERS_CAN_MOVE_TO_OTHER_ORG = 'ccmoo'\n export const CLUSTERS_CAN_SEND_TO_SLEEP = 'ccsts'\n export const CLUSTERS_CAN_UPDATE_CLUSTERPLANTYPE = 'ccucp'\n export const CLUSTERS_CAN_UPDATE_GENERATION = 'ccug'\n export const CLUSTERS_CAN_UPDATE_GENERATION_YOLO = 'ccugy'\n\n export const CLUSTER_PLAN_SEE_ALL = 'ccpa'\n export const CLUSTER_PLAN_CREATE = 'ccpc'\n export const CLUSTER_PLAN_DELETE = 'ccpd'\n\n export const CLUSTER_PLAN_TYPE_CREATE = 'cptc'\n export const CLUSTER_PLAN_TYPE_MODIFY = 'cptm'\n export const CLUSTER_PLAN_TYPE_DELETE = 'cptd'\n export const CLUSTER_PLAN_TYPE_FORCE_DELETE = 'cptfd'\n\n export const CLUSTER_PLAN_MIGRATE = 'ccpm'\n export const CLUSTER_PLAN_CAN_DELETE_ALL_CLUSTERS_OF_PLAN = 'ccpda'\n export const CLUSTER_PLAN_CAN_MODIFY = 'ccpmo'\n\n export const M2M_UPDATE_CRD = 'cmuc'\n export const M2M_SIGNUP = 'cms'\n export const M2M_TRIGGER_ALERT = 'cmta'\n export const M2M_DELETE_ORG_CLUSTERS = 'cmdoc'\n export const M2M_UPDATE_ORG_CLUSTERS = 'cmuoc'\n export const M2M_ADD_CLUSTER_USAGE_METRICS = 'cmacm'\n export const M2M_SEND_SSE_EVENT = 'cmsse'\n export const M2M_EXTERNAL_INTERNAL_CLIENT = 'cmeic'\n export const M2M_FETCH_MIGRATION_DATA = 'cmfmd'\n export const M2M_MANAGE_GENERATION_UPGRADE_PATH = 'cmmgup'\n export const CLUSTER_CREATE_ON_BEHALF = 'cccob'\n export const FEATURE_NEW_HOME = 'cfnh'\n export const FEATURE_TEMPLATE_PICKER = 'cftp'\n export const USER_SETTINGS = 'cus'\n export const CLUSTERS_CAN_OVERRIDE_ENV_VARS = 'ccoev'\n\n export const DEBUG = 'cdbg'\n export const GOD_TRIGGER_CRONS = 'gtc'\n\n export const RELEASE_TRAIN_PUBLISH = 'crtp'\n\n export const APICLIENT_READ = 'capr'\n export const APICLIENT_DELETE = 'capd'\n\n export interface Features {\n apiClient: {\n read: boolean\n delete: boolean\n }\n multiCluster: {\n admin: boolean\n }\n multiGen: {\n admin: {\n see: boolean\n modify: boolean\n patchExistingChannel: boolean\n migrate: boolean\n deleteAllClustersOfGeneration: boolean\n }\n releaseTrain: {\n publish: boolean\n }\n }\n clusters: {\n canReadAllClusterInfo: boolean\n canDeleteAllClusters: boolean\n canMoveToOtherOrg: boolean\n createOnBehalf: boolean\n canSendToSleep: boolean\n canUpdateClusterPlanType: boolean\n canOverrideEnvVars: boolean\n canUpgradeGeneration: boolean\n canUpgradeGenerationYolo: boolean\n }\n clusterPlan: {\n seeAll: boolean\n create: boolean\n delete: boolean\n type: {\n create: boolean\n modify: boolean\n delete: boolean\n forceDelete: boolean\n }\n migrate: boolean\n deleteAllClustersOfPlan: boolean\n modify: boolean\n }\n features: {\n newHome: boolean\n templatePicker: boolean\n userSettings: boolean\n debug: boolean\n }\n m2m: {\n updateCrd: boolean\n signup: boolean\n triggerAlert: boolean\n deleteOrgClusters: boolean\n updateOrgClusters: boolean\n addUsageMetrics: boolean\n sendSseEvent: boolean\n external: {\n internalClient: boolean\n }\n fetchMigrationData: boolean\n manageGenerationUpgradePath: boolean\n }\n }\n\n export function createEmptyFeatures(): Features {\n return {\n apiClient: {\n read: false,\n delete: false,\n },\n multiCluster: { admin: false },\n multiGen: {\n admin: {\n migrate: false,\n modify: false,\n patchExistingChannel: false,\n see: false,\n deleteAllClustersOfGeneration: false,\n },\n releaseTrain: {\n publish: false,\n },\n },\n clusters: {\n canReadAllClusterInfo: false,\n canDeleteAllClusters: false,\n canMoveToOtherOrg: false,\n createOnBehalf: false,\n canSendToSleep: false,\n canUpdateClusterPlanType: false,\n canOverrideEnvVars: false,\n canUpgradeGeneration: false,\n canUpgradeGenerationYolo: false,\n },\n clusterPlan: {\n seeAll: false,\n create: false,\n delete: false,\n type: {\n create: false,\n modify: false,\n delete: false,\n forceDelete: false,\n },\n migrate: false,\n deleteAllClustersOfPlan: false,\n modify: false,\n },\n features: {\n newHome: false,\n templatePicker: false,\n userSettings: false,\n debug: false,\n },\n m2m: {\n updateCrd: false,\n signup: false,\n triggerAlert: false,\n deleteOrgClusters: false,\n updateOrgClusters: false,\n addUsageMetrics: false,\n sendSseEvent: false,\n external: {\n internalClient: false,\n },\n fetchMigrationData: false,\n manageGenerationUpgradePath: false,\n },\n }\n }\n\n export const PermissionsAtAuth0: Array<{\n value: string\n description: string\n initialRoles: Roles[]\n }> = [\n {\n value: MULTICLUSTER_ADMIN,\n description: 'can create and delete k8s clusters',\n initialRoles: ['console:admin'],\n },\n {\n value: CHANNELS_AND_GENERATIONS_ADMIN_SEE,\n description: 'can go to the admin section for MultiGen, but no touch!',\n initialRoles: [\n 'console:admin',\n 'console:admin:readonly',\n 'support:agent',\n 'supersupport:agent',\n 'accounts:clusterUpdates',\n 'console:C8ReleaseManager',\n 'console:C8UpdateEnforcer',\n ],\n },\n {\n value: CHANNELS_AND_GENERATIONS_ADMIN,\n description: 'can create channels, generations and combine them',\n initialRoles: ['console:admin', 'console:C8ReleaseManager'],\n },\n {\n value: CHANNELS_AND_GENERATIONS_ADMIN_PATCH_EXISTING_CHANNEL,\n description: 'can modify existing channels and combine them',\n initialRoles: [\n 'console:admin',\n 'accounts:clusterUpdates',\n 'console:C8ReleaseManager',\n ],\n },\n {\n value: CHANNELS_AND_GENERATIONS_ADMIN_MIGRATE,\n description:\n 'can migrate clusters of generations to supported other generations',\n initialRoles: ['console:admin', 'console:C8UpdateEnforcer'],\n },\n {\n value: CHANNELS_AND_GENERATIONS_ADMIN_DELETE_ALL_CLUSTERS,\n description: 'can delete all clusters of a generation',\n initialRoles: ['console:admin'],\n },\n {\n value: CHANNELS_AND_GENERATIONS_MIGRATE,\n description:\n 'can migrate owned clusters of generations to supported other generations',\n initialRoles: [],\n },\n {\n value: CLUSTERS_READALLCLUSTERINFO,\n description: 'can read clusterInfo for all clusters',\n initialRoles: [\n 'accounts:read',\n 'accounts:onboard',\n 'accounts:orgCreator',\n 'accounts:admin',\n 'accounts:editSalesPlans',\n 'console:admin:readonly',\n 'support:agent',\n 'supersupport:agent',\n 'console:admin',\n 'accounts:trialExtender',\n 'accounts:enterpriseAdmin',\n ],\n },\n {\n value: CLUSTERS_DELETE_CLUSTER,\n description: 'can delete clusters in all orgs',\n initialRoles: ['accounts:admin'],\n },\n {\n value: CLUSTERS_CAN_MOVE_TO_OTHER_ORG,\n description: 'can move a cluster to another org the user is part of',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_SEE_ALL,\n description: 'can see all ClusterPlans',\n initialRoles: [\n 'console:admin',\n 'accounts:read',\n 'accounts:orgCreator',\n 'accounts:admin',\n 'console:admin:readonly',\n 'support:agent',\n 'supersupport:agent',\n 'accounts:onboard',\n 'accounts:editSalesPlans',\n 'accounts:trialExtender',\n 'accounts:enterpriseAdmin',\n ],\n },\n {\n value: CLUSTER_PLAN_CREATE,\n description: 'can create ClusterPlans',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_DELETE,\n description: 'can delete ClusterPlans',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_TYPE_CREATE,\n description: 'can create ClusterPlanTypes',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_TYPE_DELETE,\n description: 'can delete ClusterPlanTypes',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_TYPE_FORCE_DELETE,\n description: 'can delete ClusterPlanTypes',\n initialRoles: ['console:god'],\n },\n {\n value: CLUSTER_PLAN_TYPE_MODIFY,\n description: 'can modify ClusterPlanTypes',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_MIGRATE,\n description: 'can migrate Clusters from one plan to another',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_CAN_DELETE_ALL_CLUSTERS_OF_PLAN,\n description: 'can delete all clusters of a plan',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_CREATE_ON_BEHALF,\n description:\n 'enables accounts to create clusters on signup (not a user permission)',\n initialRoles: [],\n },\n {\n value: M2M_SIGNUP,\n description: 'allows to signal to Console new user signups',\n initialRoles: [],\n },\n { value: M2M_UPDATE_CRD, description: 'may update crds', initialRoles: [] },\n {\n value: M2M_TRIGGER_ALERT,\n description: 'allows Infra and Operate to trigger alerts',\n initialRoles: [],\n },\n {\n value: M2M_DELETE_ORG_CLUSTERS,\n description:\n 'allows trigger console to delete all clusters of an Organization',\n initialRoles: [],\n },\n {\n value: M2M_UPDATE_ORG_CLUSTERS,\n description: 'allows to update clusters of an Organization',\n initialRoles: [],\n },\n {\n value: M2M_ADD_CLUSTER_USAGE_METRICS,\n description: 'allows to trigger update of value metrics',\n initialRoles: [],\n },\n {\n value: M2M_SEND_SSE_EVENT,\n description: 'allows to trigger SSE events',\n initialRoles: [],\n },\n {\n value: M2M_EXTERNAL_INTERNAL_CLIENT,\n description: 'allows to fetch internal clients',\n initialRoles: [],\n },\n {\n value: M2M_FETCH_MIGRATION_DATA,\n description: 'allows to fetch migration data',\n initialRoles: [],\n },\n {\n value: M2M_MANAGE_GENERATION_UPGRADE_PATH,\n description:\n 'allows to manage upgrade paths for generations via external API',\n initialRoles: [],\n },\n {\n value: FEATURE_NEW_HOME,\n description: 'allows users to see new home',\n initialRoles: ['console:admin'],\n },\n {\n value: USER_SETTINGS,\n description: 'allows users to see user settings',\n initialRoles: ['console:admin', 'betatester:true'],\n },\n {\n value: FEATURE_TEMPLATE_PICKER,\n description: 'allows users to see template picker',\n initialRoles: ['console:admin', 'betatester:true'],\n },\n {\n value: CLUSTERS_CAN_SEND_TO_SLEEP,\n description: 'may send a cluster to sleep and wake up',\n initialRoles: [\n 'console:admin',\n 'accounts:admin',\n 'console:operationsEngineer',\n ],\n },\n {\n value: DEBUG,\n description: 'can see additional debugging tools',\n initialRoles: ['console:admin:readonly', 'console:admin'],\n },\n {\n value: CLUSTERS_CAN_OVERRIDE_ENV_VARS,\n description:\n 'can set Env Vars on cluster level that override all ClusterPlan Env Vars',\n initialRoles: ['console:admin', 'console:operationsEngineer'],\n },\n {\n value: CLUSTERS_CAN_UPDATE_CLUSTERPLANTYPE,\n description: 'can update clusterplantype of a running cluster',\n initialRoles: [\n 'console:admin',\n 'accounts:onboard',\n 'console:operationsEngineer',\n 'accounts:enterpriseAdmin',\n ],\n },\n {\n value: CLUSTERS_CAN_UPDATE_GENERATION,\n description: 'can update generation of a running cluster',\n initialRoles: [\n 'console:admin',\n 'accounts:clusterUpdates',\n 'console:C8ReleaseManager',\n ],\n },\n {\n value: CLUSTERS_CAN_UPDATE_GENERATION_YOLO,\n description:\n 'can update generation of a running cluster even if the generation is not reachable',\n initialRoles: ['console:god'],\n },\n {\n value: CLUSTER_PLAN_CAN_MODIFY,\n description: 'can trigger modifications of a clusterplan',\n initialRoles: ['console:admin', 'console:clusterPlanManager'],\n },\n {\n value: RELEASE_TRAIN_PUBLISH,\n description: 'can publish new generations via the release train endpoint',\n initialRoles: ['console:admin', 'console:C8ReleaseManager'],\n },\n {\n value: APICLIENT_READ,\n description: 'can read API Clients Names of Organizations',\n initialRoles: ['accounts:read', 'accounts:orgCreator'],\n },\n {\n value: APICLIENT_DELETE,\n description: 'can read API Clients Names of Organizations',\n initialRoles: ['accounts:god'],\n },\n ]\n}\n"],
|
|
5
|
-
"mappings": "AAQO,IAAU;AAAA,CAAV,CAAUA,wBAAV;AACE,EAAMA,oBAAA,qBAAqB;AAE3B,EAAMA,oBAAA,qDAAqD;AAC3D,EAAMA,oBAAA,qCAAqC;AAC3C,EAAMA,oBAAA,iCAAiC;AACvC,EAAMA,oBAAA,wDAAwD;AAC9D,EAAMA,oBAAA,yCAAyC;AAC/C,EAAMA,oBAAA,mCAAmC;AACzC,EAAMA,oBAAA,+BAAyC;AAAA,IACpDA,oBAAA;AAAA,IACAA,oBAAA;AAAA,IACAA,oBAAA;AAAA,EACF;AACO,EAAMA,oBAAA,8BAA8B;AACpC,EAAMA,oBAAA,0BAA0B;AAChC,EAAMA,oBAAA,iCAAiC;AACvC,EAAMA,oBAAA,6BAA6B;AACnC,EAAMA,oBAAA,sCAAsC;AAC5C,EAAMA,oBAAA,iCAAiC;AACvC,EAAMA,oBAAA,sCAAsC;AAE5C,EAAMA,oBAAA,uBAAuB;AAC7B,EAAMA,oBAAA,sBAAsB;AAC5B,EAAMA,oBAAA,sBAAsB;AAE5B,EAAMA,oBAAA,2BAA2B;AACjC,EAAMA,oBAAA,2BAA2B;AACjC,EAAMA,oBAAA,2BAA2B;AACjC,EAAMA,oBAAA,iCAAiC;AAEvC,EAAMA,oBAAA,uBAAuB;AAC7B,EAAMA,oBAAA,+CAA+C;AACrD,EAAMA,oBAAA,0BAA0B;AAEhC,EAAMA,oBAAA,iBAAiB;AACvB,EAAMA,oBAAA,aAAa;AACnB,EAAMA,oBAAA,oBAAoB;AAC1B,EAAMA,oBAAA,0BAA0B;AAChC,EAAMA,oBAAA,0BAA0B;AAChC,EAAMA,oBAAA,gCAAgC;AACtC,EAAMA,oBAAA,qBAAqB;AAC3B,EAAMA,oBAAA,+BAA+B;AACrC,EAAMA,oBAAA,2BAA2B;AACjC,EAAMA,oBAAA,qCAAqC;AAC3C,EAAMA,oBAAA,2BAA2B;AACjC,EAAMA,oBAAA,mBAAmB;AACzB,EAAMA,oBAAA,0BAA0B;AAChC,EAAMA,oBAAA,gBAAgB;AACtB,EAAMA,oBAAA,iCAAiC;
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type { Roles } from '../types/Roles.js'\n\nexport namespace ConsolePermissions {\n export const MULTICLUSTER_ADMIN = 'cmca'\n\n export const CHANNELS_AND_GENERATIONS_ADMIN_DELETE_ALL_CLUSTERS = 'cmgda'\n export const CHANNELS_AND_GENERATIONS_ADMIN_SEE = 'cmgas'\n export const CHANNELS_AND_GENERATIONS_ADMIN = 'cmga'\n export const CHANNELS_AND_GENERATIONS_ADMIN_PATCH_EXISTING_CHANNEL = 'cmgap'\n export const CHANNELS_AND_GENERATIONS_ADMIN_MIGRATE = 'cmgam'\n export const CHANNELS_AND_GENERATIONS_MIGRATE = 'cmgm'\n export const ALL_CHANNELS_AND_GENERATIONS: string[] = [\n CHANNELS_AND_GENERATIONS_ADMIN_SEE,\n CHANNELS_AND_GENERATIONS_ADMIN,\n CHANNELS_AND_GENERATIONS_ADMIN_MIGRATE,\n ]\n export const CLUSTERS_READALLCLUSTERINFO = 'ccrai'\n export const CLUSTERS_DELETE_CLUSTER = 'ccda'\n export const CLUSTERS_CAN_MOVE_TO_OTHER_ORG = 'ccmoo'\n export const CLUSTERS_CAN_SEND_TO_SLEEP = 'ccsts'\n export const CLUSTERS_CAN_UPDATE_CLUSTERPLANTYPE = 'ccucp'\n export const CLUSTERS_CAN_UPDATE_GENERATION = 'ccug'\n export const CLUSTERS_CAN_UPDATE_GENERATION_YOLO = 'ccugy'\n\n export const CLUSTER_PLAN_SEE_ALL = 'ccpa'\n export const CLUSTER_PLAN_CREATE = 'ccpc'\n export const CLUSTER_PLAN_DELETE = 'ccpd'\n\n export const CLUSTER_PLAN_TYPE_CREATE = 'cptc'\n export const CLUSTER_PLAN_TYPE_MODIFY = 'cptm'\n export const CLUSTER_PLAN_TYPE_DELETE = 'cptd'\n export const CLUSTER_PLAN_TYPE_FORCE_DELETE = 'cptfd'\n\n export const CLUSTER_PLAN_MIGRATE = 'ccpm'\n export const CLUSTER_PLAN_CAN_DELETE_ALL_CLUSTERS_OF_PLAN = 'ccpda'\n export const CLUSTER_PLAN_CAN_MODIFY = 'ccpmo'\n\n export const M2M_UPDATE_CRD = 'cmuc'\n export const M2M_SIGNUP = 'cms'\n export const M2M_TRIGGER_ALERT = 'cmta'\n export const M2M_DELETE_ORG_CLUSTERS = 'cmdoc'\n export const M2M_UPDATE_ORG_CLUSTERS = 'cmuoc'\n export const M2M_ADD_CLUSTER_USAGE_METRICS = 'cmacm'\n export const M2M_SEND_SSE_EVENT = 'cmsse'\n export const M2M_EXTERNAL_INTERNAL_CLIENT = 'cmeic'\n export const M2M_FETCH_MIGRATION_DATA = 'cmfmd'\n export const M2M_MANAGE_GENERATION_UPGRADE_PATH = 'cmmgup'\n export const CLUSTER_CREATE_ON_BEHALF = 'cccob'\n export const FEATURE_NEW_HOME = 'cfnh'\n export const FEATURE_TEMPLATE_PICKER = 'cftp'\n export const USER_SETTINGS = 'cus'\n export const CLUSTERS_CAN_OVERRIDE_ENV_VARS = 'ccoev'\n export const CLUSTERS_CAN_CREATE_MODIFICATION_CONFIG = 'ccccmc'\n\n export const DEBUG = 'cdbg'\n export const GOD_TRIGGER_CRONS = 'gtc'\n\n export const RELEASE_TRAIN_PUBLISH = 'crtp'\n\n export const APICLIENT_READ = 'capr'\n export const APICLIENT_DELETE = 'capd'\n\n export interface Features {\n apiClient: {\n read: boolean\n delete: boolean\n }\n multiCluster: {\n admin: boolean\n }\n multiGen: {\n admin: {\n see: boolean\n modify: boolean\n patchExistingChannel: boolean\n migrate: boolean\n deleteAllClustersOfGeneration: boolean\n }\n releaseTrain: {\n publish: boolean\n }\n }\n clusters: {\n canReadAllClusterInfo: boolean\n canDeleteAllClusters: boolean\n canMoveToOtherOrg: boolean\n createOnBehalf: boolean\n canSendToSleep: boolean\n canUpdateClusterPlanType: boolean\n canOverrideEnvVars: boolean\n canCreateModificationConfig: boolean\n canUpgradeGeneration: boolean\n canUpgradeGenerationYolo: boolean\n }\n clusterPlan: {\n seeAll: boolean\n create: boolean\n delete: boolean\n type: {\n create: boolean\n modify: boolean\n delete: boolean\n forceDelete: boolean\n }\n migrate: boolean\n deleteAllClustersOfPlan: boolean\n modify: boolean\n }\n features: {\n newHome: boolean\n templatePicker: boolean\n userSettings: boolean\n debug: boolean\n }\n m2m: {\n updateCrd: boolean\n signup: boolean\n triggerAlert: boolean\n deleteOrgClusters: boolean\n updateOrgClusters: boolean\n addUsageMetrics: boolean\n sendSseEvent: boolean\n external: {\n internalClient: boolean\n }\n fetchMigrationData: boolean\n manageGenerationUpgradePath: boolean\n }\n }\n\n export function createEmptyFeatures(): Features {\n return {\n apiClient: {\n read: false,\n delete: false,\n },\n multiCluster: { admin: false },\n multiGen: {\n admin: {\n migrate: false,\n modify: false,\n patchExistingChannel: false,\n see: false,\n deleteAllClustersOfGeneration: false,\n },\n releaseTrain: {\n publish: false,\n },\n },\n clusters: {\n canReadAllClusterInfo: false,\n canDeleteAllClusters: false,\n canMoveToOtherOrg: false,\n createOnBehalf: false,\n canSendToSleep: false,\n canUpdateClusterPlanType: false,\n canOverrideEnvVars: false,\n canCreateModificationConfig: false,\n canUpgradeGeneration: false,\n canUpgradeGenerationYolo: false,\n },\n clusterPlan: {\n seeAll: false,\n create: false,\n delete: false,\n type: {\n create: false,\n modify: false,\n delete: false,\n forceDelete: false,\n },\n migrate: false,\n deleteAllClustersOfPlan: false,\n modify: false,\n },\n features: {\n newHome: false,\n templatePicker: false,\n userSettings: false,\n debug: false,\n },\n m2m: {\n updateCrd: false,\n signup: false,\n triggerAlert: false,\n deleteOrgClusters: false,\n updateOrgClusters: false,\n addUsageMetrics: false,\n sendSseEvent: false,\n external: {\n internalClient: false,\n },\n fetchMigrationData: false,\n manageGenerationUpgradePath: false,\n },\n }\n }\n\n export const PermissionsAtAuth0: Array<{\n value: string\n description: string\n initialRoles: Roles[]\n }> = [\n {\n value: MULTICLUSTER_ADMIN,\n description: 'can create and delete k8s clusters',\n initialRoles: ['console:admin'],\n },\n {\n value: CHANNELS_AND_GENERATIONS_ADMIN_SEE,\n description: 'can go to the admin section for MultiGen, but no touch!',\n initialRoles: [\n 'console:admin',\n 'console:admin:readonly',\n 'support:agent',\n 'supersupport:agent',\n 'accounts:clusterUpdates',\n 'console:C8ReleaseManager',\n 'console:C8UpdateEnforcer',\n ],\n },\n {\n value: CHANNELS_AND_GENERATIONS_ADMIN,\n description: 'can create channels, generations and combine them',\n initialRoles: ['console:admin', 'console:C8ReleaseManager'],\n },\n {\n value: CHANNELS_AND_GENERATIONS_ADMIN_PATCH_EXISTING_CHANNEL,\n description: 'can modify existing channels and combine them',\n initialRoles: [\n 'console:admin',\n 'accounts:clusterUpdates',\n 'console:C8ReleaseManager',\n ],\n },\n {\n value: CHANNELS_AND_GENERATIONS_ADMIN_MIGRATE,\n description:\n 'can migrate clusters of generations to supported other generations',\n initialRoles: ['console:admin', 'console:C8UpdateEnforcer'],\n },\n {\n value: CHANNELS_AND_GENERATIONS_ADMIN_DELETE_ALL_CLUSTERS,\n description: 'can delete all clusters of a generation',\n initialRoles: ['console:admin'],\n },\n {\n value: CHANNELS_AND_GENERATIONS_MIGRATE,\n description:\n 'can migrate owned clusters of generations to supported other generations',\n initialRoles: [],\n },\n {\n value: CLUSTERS_READALLCLUSTERINFO,\n description: 'can read clusterInfo for all clusters',\n initialRoles: [\n 'accounts:read',\n 'accounts:onboard',\n 'accounts:orgCreator',\n 'accounts:admin',\n 'accounts:editSalesPlans',\n 'console:admin:readonly',\n 'support:agent',\n 'supersupport:agent',\n 'console:admin',\n 'accounts:trialExtender',\n 'accounts:enterpriseAdmin',\n ],\n },\n {\n value: CLUSTERS_DELETE_CLUSTER,\n description: 'can delete clusters in all orgs',\n initialRoles: ['accounts:admin'],\n },\n {\n value: CLUSTERS_CAN_MOVE_TO_OTHER_ORG,\n description: 'can move a cluster to another org the user is part of',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_SEE_ALL,\n description: 'can see all ClusterPlans',\n initialRoles: [\n 'console:admin',\n 'accounts:read',\n 'accounts:orgCreator',\n 'accounts:admin',\n 'console:admin:readonly',\n 'support:agent',\n 'supersupport:agent',\n 'accounts:onboard',\n 'accounts:editSalesPlans',\n 'accounts:trialExtender',\n 'accounts:enterpriseAdmin',\n ],\n },\n {\n value: CLUSTER_PLAN_CREATE,\n description: 'can create ClusterPlans',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_DELETE,\n description: 'can delete ClusterPlans',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_TYPE_CREATE,\n description: 'can create ClusterPlanTypes',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_TYPE_DELETE,\n description: 'can delete ClusterPlanTypes',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_TYPE_FORCE_DELETE,\n description: 'can delete ClusterPlanTypes',\n initialRoles: ['console:god'],\n },\n {\n value: CLUSTER_PLAN_TYPE_MODIFY,\n description: 'can modify ClusterPlanTypes',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_MIGRATE,\n description: 'can migrate Clusters from one plan to another',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_PLAN_CAN_DELETE_ALL_CLUSTERS_OF_PLAN,\n description: 'can delete all clusters of a plan',\n initialRoles: ['console:admin'],\n },\n {\n value: CLUSTER_CREATE_ON_BEHALF,\n description:\n 'enables accounts to create clusters on signup (not a user permission)',\n initialRoles: [],\n },\n {\n value: M2M_SIGNUP,\n description: 'allows to signal to Console new user signups',\n initialRoles: [],\n },\n { value: M2M_UPDATE_CRD, description: 'may update crds', initialRoles: [] },\n {\n value: M2M_TRIGGER_ALERT,\n description: 'allows Infra and Operate to trigger alerts',\n initialRoles: [],\n },\n {\n value: M2M_DELETE_ORG_CLUSTERS,\n description:\n 'allows trigger console to delete all clusters of an Organization',\n initialRoles: [],\n },\n {\n value: M2M_UPDATE_ORG_CLUSTERS,\n description: 'allows to update clusters of an Organization',\n initialRoles: [],\n },\n {\n value: M2M_ADD_CLUSTER_USAGE_METRICS,\n description: 'allows to trigger update of value metrics',\n initialRoles: [],\n },\n {\n value: M2M_SEND_SSE_EVENT,\n description: 'allows to trigger SSE events',\n initialRoles: [],\n },\n {\n value: M2M_EXTERNAL_INTERNAL_CLIENT,\n description: 'allows to fetch internal clients',\n initialRoles: [],\n },\n {\n value: M2M_FETCH_MIGRATION_DATA,\n description: 'allows to fetch migration data',\n initialRoles: [],\n },\n {\n value: M2M_MANAGE_GENERATION_UPGRADE_PATH,\n description:\n 'allows to manage upgrade paths for generations via external API',\n initialRoles: [],\n },\n {\n value: FEATURE_NEW_HOME,\n description: 'allows users to see new home',\n initialRoles: ['console:admin'],\n },\n {\n value: USER_SETTINGS,\n description: 'allows users to see user settings',\n initialRoles: ['console:admin', 'betatester:true'],\n },\n {\n value: FEATURE_TEMPLATE_PICKER,\n description: 'allows users to see template picker',\n initialRoles: ['console:admin', 'betatester:true'],\n },\n {\n value: CLUSTERS_CAN_SEND_TO_SLEEP,\n description: 'may send a cluster to sleep and wake up',\n initialRoles: [\n 'console:admin',\n 'accounts:admin',\n 'console:operationsEngineer',\n ],\n },\n {\n value: DEBUG,\n description: 'can see additional debugging tools',\n initialRoles: ['console:admin:readonly', 'console:admin'],\n },\n {\n value: CLUSTERS_CAN_OVERRIDE_ENV_VARS,\n description:\n 'can set Env Vars on cluster level that override all ClusterPlan Env Vars',\n initialRoles: ['console:admin', 'console:operationsEngineer'],\n },\n {\n value: CLUSTERS_CAN_CREATE_MODIFICATION_CONFIG,\n description: 'can create cluster modification configs',\n initialRoles: ['console:admin', 'console:operationsEngineer'],\n },\n {\n value: CLUSTERS_CAN_UPDATE_CLUSTERPLANTYPE,\n description: 'can update clusterplantype of a running cluster',\n initialRoles: [\n 'console:admin',\n 'accounts:onboard',\n 'console:operationsEngineer',\n 'accounts:enterpriseAdmin',\n ],\n },\n {\n value: CLUSTERS_CAN_UPDATE_GENERATION,\n description: 'can update generation of a running cluster',\n initialRoles: [\n 'console:admin',\n 'accounts:clusterUpdates',\n 'console:C8ReleaseManager',\n ],\n },\n {\n value: CLUSTERS_CAN_UPDATE_GENERATION_YOLO,\n description:\n 'can update generation of a running cluster even if the generation is not reachable',\n initialRoles: ['console:god'],\n },\n {\n value: CLUSTER_PLAN_CAN_MODIFY,\n description: 'can trigger modifications of a clusterplan',\n initialRoles: ['console:admin', 'console:clusterPlanManager'],\n },\n {\n value: RELEASE_TRAIN_PUBLISH,\n description: 'can publish new generations via the release train endpoint',\n initialRoles: ['console:admin', 'console:C8ReleaseManager'],\n },\n {\n value: APICLIENT_READ,\n description: 'can read API Clients Names of Organizations',\n initialRoles: ['accounts:read', 'accounts:orgCreator'],\n },\n {\n value: APICLIENT_DELETE,\n description: 'can read API Clients Names of Organizations',\n initialRoles: ['accounts:god'],\n },\n ]\n}\n"],
|
|
5
|
+
"mappings": "AAQO,IAAU;AAAA,CAAV,CAAUA,wBAAV;AACE,EAAMA,oBAAA,qBAAqB;AAE3B,EAAMA,oBAAA,qDAAqD;AAC3D,EAAMA,oBAAA,qCAAqC;AAC3C,EAAMA,oBAAA,iCAAiC;AACvC,EAAMA,oBAAA,wDAAwD;AAC9D,EAAMA,oBAAA,yCAAyC;AAC/C,EAAMA,oBAAA,mCAAmC;AACzC,EAAMA,oBAAA,+BAAyC;AAAA,IACpDA,oBAAA;AAAA,IACAA,oBAAA;AAAA,IACAA,oBAAA;AAAA,EACF;AACO,EAAMA,oBAAA,8BAA8B;AACpC,EAAMA,oBAAA,0BAA0B;AAChC,EAAMA,oBAAA,iCAAiC;AACvC,EAAMA,oBAAA,6BAA6B;AACnC,EAAMA,oBAAA,sCAAsC;AAC5C,EAAMA,oBAAA,iCAAiC;AACvC,EAAMA,oBAAA,sCAAsC;AAE5C,EAAMA,oBAAA,uBAAuB;AAC7B,EAAMA,oBAAA,sBAAsB;AAC5B,EAAMA,oBAAA,sBAAsB;AAE5B,EAAMA,oBAAA,2BAA2B;AACjC,EAAMA,oBAAA,2BAA2B;AACjC,EAAMA,oBAAA,2BAA2B;AACjC,EAAMA,oBAAA,iCAAiC;AAEvC,EAAMA,oBAAA,uBAAuB;AAC7B,EAAMA,oBAAA,+CAA+C;AACrD,EAAMA,oBAAA,0BAA0B;AAEhC,EAAMA,oBAAA,iBAAiB;AACvB,EAAMA,oBAAA,aAAa;AACnB,EAAMA,oBAAA,oBAAoB;AAC1B,EAAMA,oBAAA,0BAA0B;AAChC,EAAMA,oBAAA,0BAA0B;AAChC,EAAMA,oBAAA,gCAAgC;AACtC,EAAMA,oBAAA,qBAAqB;AAC3B,EAAMA,oBAAA,+BAA+B;AACrC,EAAMA,oBAAA,2BAA2B;AACjC,EAAMA,oBAAA,qCAAqC;AAC3C,EAAMA,oBAAA,2BAA2B;AACjC,EAAMA,oBAAA,mBAAmB;AACzB,EAAMA,oBAAA,0BAA0B;AAChC,EAAMA,oBAAA,gBAAgB;AACtB,EAAMA,oBAAA,iCAAiC;AACvC,EAAMA,oBAAA,0CAA0C;AAEhD,EAAMA,oBAAA,QAAQ;AACd,EAAMA,oBAAA,oBAAoB;AAE1B,EAAMA,oBAAA,wBAAwB;AAE9B,EAAMA,oBAAA,iBAAiB;AACvB,EAAMA,oBAAA,mBAAmB;AAsEzB,WAAS,sBAAgC;AAC9C,WAAO;AAAA,MACL,WAAW;AAAA,QACT,MAAM;AAAA,QACN,QAAQ;AAAA,MACV;AAAA,MACA,cAAc,EAAE,OAAO,MAAM;AAAA,MAC7B,UAAU;AAAA,QACR,OAAO;AAAA,UACL,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,sBAAsB;AAAA,UACtB,KAAK;AAAA,UACL,+BAA+B;AAAA,QACjC;AAAA,QACA,cAAc;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,UAAU;AAAA,QACR,uBAAuB;AAAA,QACvB,sBAAsB;AAAA,QACtB,mBAAmB;AAAA,QACnB,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,QAChB,0BAA0B;AAAA,QAC1B,oBAAoB;AAAA,QACpB,6BAA6B;AAAA,QAC7B,sBAAsB;AAAA,QACtB,0BAA0B;AAAA,MAC5B;AAAA,MACA,aAAa;AAAA,QACX,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,aAAa;AAAA,QACf;AAAA,QACA,SAAS;AAAA,QACT,yBAAyB;AAAA,QACzB,QAAQ;AAAA,MACV;AAAA,MACA,UAAU;AAAA,QACR,SAAS;AAAA,QACT,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,OAAO;AAAA,MACT;AAAA,MACA,KAAK;AAAA,QACH,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,mBAAmB;AAAA,QACnB,mBAAmB;AAAA,QACnB,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,UAAU;AAAA,UACR,gBAAgB;AAAA,QAClB;AAAA,QACA,oBAAoB;AAAA,QACpB,6BAA6B;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AAlEO,EAAAA,oBAAS;AAoET,EAAMA,oBAAA,qBAIR;AAAA,IACH;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,eAAe;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,iBAAiB,0BAA0B;AAAA,IAC5D;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aACE;AAAA,MACF,cAAc,CAAC,iBAAiB,0BAA0B;AAAA,IAC5D;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,eAAe;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aACE;AAAA,MACF,cAAc,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,gBAAgB;AAAA,IACjC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,eAAe;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,eAAe;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,eAAe;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,eAAe;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,eAAe;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,aAAa;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,eAAe;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,eAAe;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,eAAe;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aACE;AAAA,MACF,cAAc,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC;AAAA,IACjB;AAAA,IACA,EAAE,OAAOA,oBAAA,gBAAgB,aAAa,mBAAmB,cAAc,CAAC,EAAE;AAAA,IAC1E;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aACE;AAAA,MACF,cAAc,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aACE;AAAA,MACF,cAAc,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,eAAe;AAAA,IAChC;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,iBAAiB,iBAAiB;AAAA,IACnD;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,iBAAiB,iBAAiB;AAAA,IACnD;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,0BAA0B,eAAe;AAAA,IAC1D;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aACE;AAAA,MACF,cAAc,CAAC,iBAAiB,4BAA4B;AAAA,IAC9D;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,iBAAiB,4BAA4B;AAAA,IAC9D;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aACE;AAAA,MACF,cAAc,CAAC,aAAa;AAAA,IAC9B;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,iBAAiB,4BAA4B;AAAA,IAC9D;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,iBAAiB,0BAA0B;AAAA,IAC5D;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,iBAAiB,qBAAqB;AAAA,IACvD;AAAA,IACA;AAAA,MACE,OAAOA,oBAAA;AAAA,MACP,aAAa;AAAA,MACb,cAAc,CAAC,cAAc;AAAA,IAC/B;AAAA,EACF;AAAA,GAzde;",
|
|
6
6
|
"names": ["ConsolePermissions"]
|
|
7
7
|
}
|
|
@@ -97,6 +97,7 @@ const PROFILES = {
|
|
|
97
97
|
supportEngineer: {
|
|
98
98
|
allowed: [...CLOUD_TEAM_EMAILS, ...SUPPORT_MANAGERS_EMAILS],
|
|
99
99
|
rolesToAssign: [
|
|
100
|
+
"accounts:read",
|
|
100
101
|
"accounts:connections:create",
|
|
101
102
|
"accounts:connections:update",
|
|
102
103
|
"support:agent"
|
|
@@ -111,6 +112,7 @@ const PROFILES = {
|
|
|
111
112
|
ssoAdmin: {
|
|
112
113
|
allowed: [...CLOUD_TEAM_EMAILS, ...SUPPORT_MANAGERS_EMAILS],
|
|
113
114
|
rolesToAssign: [
|
|
115
|
+
"accounts:read",
|
|
114
116
|
"accounts:connections:create",
|
|
115
117
|
"accounts:connections:update",
|
|
116
118
|
"accounts:connections:delete",
|
|
@@ -143,7 +145,11 @@ const PROFILES = {
|
|
|
143
145
|
...SUPPORT_MANAGERS_EMAILS,
|
|
144
146
|
...C8_ENGINEERING_MANAGERS_EMAILS
|
|
145
147
|
],
|
|
146
|
-
rolesToAssign: [
|
|
148
|
+
rolesToAssign: [
|
|
149
|
+
"accounts:clusterUpdates",
|
|
150
|
+
"support:agent",
|
|
151
|
+
"accounts:read"
|
|
152
|
+
],
|
|
147
153
|
email: {
|
|
148
154
|
handbookPages: [
|
|
149
155
|
"https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/managing-generations-on-c8-saas/index.md"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/permissions/profile.permissions.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type { Roles } from '../types/Roles.js'\n\nexport const CLOUD_TEAM_EMAILS = [\n 'adam.urban@camunda.com',\n 'collin.raddatz@camunda.com',\n 'tim.schuppener@camunda.com',\n]\nconst LIMIT_EXTENDERS = [\n 'william.vonalt@camunda.com',\n 'victor.grund@camunda.com',\n 'ragnar.nevries@camunda.com',\n 'robert.emsbach@camunda.com',\n 'jared.mcmahon@camunda.com',\n]\nexport const SRE_TEAM_EMAILS = [\n 'jonathan.ballet@camunda.com',\n 'thanasis.petrovas@camunda.com',\n 'thomas.polnik@camunda.com',\n]\nexport const PLATFORM_SM_EMAILS = [\n 'immanuel.monma@camunda.com',\n 'jesse.simpson@camunda.com',\n 'hamza.masood@camunda.com',\n 'lars.lange@camunda.com',\n 'leo.journel@camunda.com',\n 'balazs.kenez@camunda.com',\n]\nexport const SUPPORT_MANAGERS_EMAILS = [\n 'garima.yadav@camunda.com',\n 'jeffrey.stokes@camunda.com',\n 'alexandra.corremans@camunda.com',\n 'chris.campbell@camunda.com',\n]\nexport const C8_ENGINEERING_MANAGERS_EMAILS = [\n 'sebastian.bathke@camunda.com',\n 'catalina.moisuc@camunda.com',\n 'immanuel.monma@camunda.com',\n 'joshua.windels@camunda.com',\n 'marcos.vieira@camunda.com',\n 'maximilian.trumpf@camunda.com',\n 'simon.buettner@camunda.com',\n // schoetti is also some sort of engineering manager\n 'michael.schoettes@camunda.com',\n 'tassilo.weidner@camunda.com',\n 'nicolas.pepin-perreault@camunda.com',\n 'wolfgang.amann@camunda.com',\n 'mathieu.stennier@camunda.com',\n 'jason.hunter@camunda.com',\n 'maxim.danilov@camunda.com',\n 'stephan.epping@camunda.com',\n 'simon.zengerling@camunda.com',\n 'shay.matasaro@camunda.com',\n]\nexport const CONSULTING_MANAGER_EMAILS = [\n 'benjamin.hoffmann@camunda.com',\n 'chandan.dash@camunda.com',\n 'darren.devine@camunda.com',\n 'hurshid.kadirov@camunda.com',\n 'ivan.jovic@camunda.com',\n 'michael.ferber@camunda.com',\n 'ragnar.nevries@camunda.com',\n 'norbert.kuchenmeister@camunda.com',\n 'robert.emsbach@camunda.com',\n 'victor.grund@camunda.com',\n]\nexport const CSM_MANAGER_EMAIL = [\n 'aaron.laye@camunda.com',\n 'andreas.tollschein@camunda.com',\n 'betsy.burt@camunda.com',\n 'leona.schlosser@camunda.com',\n 'yulia.sinyanskaya@camunda.com',\n 'agnes.kelemen@camunda.com',\n 'thomas.schulz@camunda.com',\n 'shadia.jubril@camunda.com',\n 'kaitlin.leighton@camunda.com',\n 'ryan.warner@camunda.com',\n 'manjula.kularathne@camunda.com',\n]\nconst ADR_MANAGER_EMAIL = ['jasmin.morfin-davila@camunda.com']\nconst PDF_WATERMARK_EMAILS = ['eyal.marantenboim@camunda.com']\n\nexport interface OnboardConfig {\n [unit: string]: {\n allowed: string[]\n rolesToAssign: Roles[]\n email: {\n handbookPages: string[]\n }\n }\n}\n\nexport const PROFILES: OnboardConfig = {\n readOnly: {\n allowed: [\n ...CLOUD_TEAM_EMAILS,\n ...SUPPORT_MANAGERS_EMAILS,\n ...C8_ENGINEERING_MANAGERS_EMAILS,\n ...CONSULTING_MANAGER_EMAILS,\n ...SRE_TEAM_EMAILS,\n ...CSM_MANAGER_EMAIL,\n 'eric.lundberg@camunda.com',\n ],\n rolesToAssign: ['accounts:read', 'console:admin:readonly'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n ],\n },\n },\n supportEngineer: {\n allowed: [...CLOUD_TEAM_EMAILS, ...SUPPORT_MANAGERS_EMAILS],\n rolesToAssign: [\n 'accounts:connections:create',\n 'accounts:connections:update',\n 'support:agent',\n ],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/access-to-a-customers-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/How+to+handle+requests+for+External+SSO+integration+in+C8-SaaS',\n ],\n },\n },\n ssoAdmin: {\n allowed: [...CLOUD_TEAM_EMAILS, ...SUPPORT_MANAGERS_EMAILS],\n rolesToAssign: [\n 'accounts:connections:create',\n 'accounts:connections:update',\n 'accounts:connections:delete',\n 'support:agent',\n ],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/access-to-a-customers-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/How+to+handle+requests+for+External+SSO+integration+in+C8-SaaS',\n ],\n },\n },\n supportAgent: {\n allowed: [\n ...CLOUD_TEAM_EMAILS,\n ...SUPPORT_MANAGERS_EMAILS,\n ...C8_ENGINEERING_MANAGERS_EMAILS,\n ...CONSULTING_MANAGER_EMAILS,\n ],\n rolesToAssign: ['support:agent'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/access-to-a-customers-organization-on-c8-saas/index.md',\n ],\n },\n },\n clusterUpdateSupportEngineer: {\n allowed: [\n ...CLOUD_TEAM_EMAILS,\n ...SUPPORT_MANAGERS_EMAILS,\n ...C8_ENGINEERING_MANAGERS_EMAILS,\n ],\n rolesToAssign: ['accounts:clusterUpdates', 'support:agent'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/managing-generations-on-c8-saas/index.md',\n ],\n },\n },\n c8ReleaseManager: {\n allowed: [...CLOUD_TEAM_EMAILS, ...C8_ENGINEERING_MANAGERS_EMAILS],\n rolesToAssign: [\n 'console:C8ReleaseManager',\n 'accounts:read',\n 'console:C8UpdateEnforcer',\n ],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/managing-generations-on-c8-saas/index.md',\n ],\n },\n },\n incidentEngineer: {\n allowed: [...CLOUD_TEAM_EMAILS, ...C8_ENGINEERING_MANAGERS_EMAILS],\n rolesToAssign: [\n 'accounts:read',\n 'support:agent',\n 'console:operationsEngineer',\n ],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/tweaking-a-running-cluster/index.md',\n ],\n },\n },\n consulting: {\n allowed: [...CLOUD_TEAM_EMAILS, ...CONSULTING_MANAGER_EMAILS],\n rolesToAssign: [\n 'accounts:read',\n 'console:admin:readonly',\n 'accounts:trialExtender',\n 'accounts:limitExtender',\n 'accounts:enterpriseAdmin',\n ],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/Extend+a+Trial+Subscription+on+C8+SaaS',\n ],\n },\n },\n csm: {\n allowed: [...CLOUD_TEAM_EMAILS, ...CSM_MANAGER_EMAIL],\n rolesToAssign: [\n 'accounts:enterpriseAdmin',\n 'accounts:read',\n 'accounts:trialExtender',\n ],\n email: {\n handbookPages: [\n 'https://confluence.camunda.com/display/FIELDOPS/Migrating+C8-SaaS+Organizations+to+Enterprise',\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/modify-a-running-c8-saas-enterprise-organisation/index.md',\n 'https://confluence.camunda.com/display/HAN/Extend+a+Trial+Subscription+on+C8+SaaS',\n ],\n },\n },\n csmOffboard: {\n allowed: [...CLOUD_TEAM_EMAILS, ...CSM_MANAGER_EMAIL],\n rolesToAssign: ['accounts:enterpriseOffboarding', 'accounts:read'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/shutting-down-an-c8-saas-organization/index.md',\n ],\n },\n },\n adr: {\n allowed: [...ADR_MANAGER_EMAIL, 'javier.garcia-alzorriz@camunda.com'],\n rolesToAssign: ['accounts:trialExtender', 'accounts:read'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/Extend+a+Trial+Subscription+on+C8+SaaS',\n ],\n },\n },\n trialExtender: {\n allowed: [\n ...CLOUD_TEAM_EMAILS,\n ...LIMIT_EXTENDERS,\n 'rory.tettey@camunda.com',\n ],\n rolesToAssign: ['accounts:trialExtender', 'accounts:read'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/Extend+a+Trial+Subscription+on+C8+SaaS',\n ],\n },\n },\n limitExtender: {\n allowed: [...CLOUD_TEAM_EMAILS, ...LIMIT_EXTENDERS],\n rolesToAssign: ['accounts:limitExtender', 'accounts:read'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/Managing+Organization+Limits+on+C8+SaaS',\n ],\n },\n },\n workshopCreator: {\n allowed: [...CLOUD_TEAM_EMAILS, 'robert.emsbach@camunda.com'],\n rolesToAssign: ['accounts:orgCreator'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n ],\n },\n },\n pdfWatermarkRead: {\n allowed: [...CLOUD_TEAM_EMAILS, ...PDF_WATERMARK_EMAILS],\n rolesToAssign: ['accounts:pdfWatermarkReader'],\n email: {\n handbookPages: [],\n },\n },\n pdfWatermarkWrite: {\n allowed: [...CLOUD_TEAM_EMAILS, ...PDF_WATERMARK_EMAILS],\n rolesToAssign: ['accounts:pdfWatermarkWriter'],\n email: {\n handbookPages: [],\n },\n },\n}\n"],
|
|
5
|
-
"mappings": "AAQO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,kBAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,qBAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,iCAAiC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,oBAAoB,CAAC,kCAAkC;AAC7D,MAAM,uBAAuB,CAAC,+BAA+B;AAYtD,MAAM,WAA0B;AAAA,EACrC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,IACF;AAAA,IACA,eAAe,CAAC,iBAAiB,wBAAwB;AAAA,IACzD,OAAO;AAAA,MACL,eAAe;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS,CAAC,GAAG,mBAAmB,GAAG,uBAAuB;AAAA,IAC1D,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,eAAe;AAAA,QACb;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,SAAS,CAAC,GAAG,mBAAmB,GAAG,uBAAuB;AAAA,IAC1D,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,eAAe;AAAA,QACb;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,IACA,eAAe,CAAC,eAAe;AAAA,IAC/B,OAAO;AAAA,MACL,eAAe;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,8BAA8B;AAAA,IAC5B,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,IACA,eAAe,
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type { Roles } from '../types/Roles.js'\n\nexport const CLOUD_TEAM_EMAILS = [\n 'adam.urban@camunda.com',\n 'collin.raddatz@camunda.com',\n 'tim.schuppener@camunda.com',\n]\nconst LIMIT_EXTENDERS = [\n 'william.vonalt@camunda.com',\n 'victor.grund@camunda.com',\n 'ragnar.nevries@camunda.com',\n 'robert.emsbach@camunda.com',\n 'jared.mcmahon@camunda.com',\n]\nexport const SRE_TEAM_EMAILS = [\n 'jonathan.ballet@camunda.com',\n 'thanasis.petrovas@camunda.com',\n 'thomas.polnik@camunda.com',\n]\nexport const PLATFORM_SM_EMAILS = [\n 'immanuel.monma@camunda.com',\n 'jesse.simpson@camunda.com',\n 'hamza.masood@camunda.com',\n 'lars.lange@camunda.com',\n 'leo.journel@camunda.com',\n 'balazs.kenez@camunda.com',\n]\nexport const SUPPORT_MANAGERS_EMAILS = [\n 'garima.yadav@camunda.com',\n 'jeffrey.stokes@camunda.com',\n 'alexandra.corremans@camunda.com',\n 'chris.campbell@camunda.com',\n]\nexport const C8_ENGINEERING_MANAGERS_EMAILS = [\n 'sebastian.bathke@camunda.com',\n 'catalina.moisuc@camunda.com',\n 'immanuel.monma@camunda.com',\n 'joshua.windels@camunda.com',\n 'marcos.vieira@camunda.com',\n 'maximilian.trumpf@camunda.com',\n 'simon.buettner@camunda.com',\n // schoetti is also some sort of engineering manager\n 'michael.schoettes@camunda.com',\n 'tassilo.weidner@camunda.com',\n 'nicolas.pepin-perreault@camunda.com',\n 'wolfgang.amann@camunda.com',\n 'mathieu.stennier@camunda.com',\n 'jason.hunter@camunda.com',\n 'maxim.danilov@camunda.com',\n 'stephan.epping@camunda.com',\n 'simon.zengerling@camunda.com',\n 'shay.matasaro@camunda.com',\n]\nexport const CONSULTING_MANAGER_EMAILS = [\n 'benjamin.hoffmann@camunda.com',\n 'chandan.dash@camunda.com',\n 'darren.devine@camunda.com',\n 'hurshid.kadirov@camunda.com',\n 'ivan.jovic@camunda.com',\n 'michael.ferber@camunda.com',\n 'ragnar.nevries@camunda.com',\n 'norbert.kuchenmeister@camunda.com',\n 'robert.emsbach@camunda.com',\n 'victor.grund@camunda.com',\n]\nexport const CSM_MANAGER_EMAIL = [\n 'aaron.laye@camunda.com',\n 'andreas.tollschein@camunda.com',\n 'betsy.burt@camunda.com',\n 'leona.schlosser@camunda.com',\n 'yulia.sinyanskaya@camunda.com',\n 'agnes.kelemen@camunda.com',\n 'thomas.schulz@camunda.com',\n 'shadia.jubril@camunda.com',\n 'kaitlin.leighton@camunda.com',\n 'ryan.warner@camunda.com',\n 'manjula.kularathne@camunda.com',\n]\nconst ADR_MANAGER_EMAIL = ['jasmin.morfin-davila@camunda.com']\nconst PDF_WATERMARK_EMAILS = ['eyal.marantenboim@camunda.com']\n\nexport interface OnboardConfig {\n [unit: string]: {\n allowed: string[]\n rolesToAssign: Roles[]\n email: {\n handbookPages: string[]\n }\n }\n}\n\nexport const PROFILES: OnboardConfig = {\n readOnly: {\n allowed: [\n ...CLOUD_TEAM_EMAILS,\n ...SUPPORT_MANAGERS_EMAILS,\n ...C8_ENGINEERING_MANAGERS_EMAILS,\n ...CONSULTING_MANAGER_EMAILS,\n ...SRE_TEAM_EMAILS,\n ...CSM_MANAGER_EMAIL,\n 'eric.lundberg@camunda.com',\n ],\n rolesToAssign: ['accounts:read', 'console:admin:readonly'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n ],\n },\n },\n supportEngineer: {\n allowed: [...CLOUD_TEAM_EMAILS, ...SUPPORT_MANAGERS_EMAILS],\n rolesToAssign: [\n 'accounts:read',\n 'accounts:connections:create',\n 'accounts:connections:update',\n 'support:agent',\n ],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/access-to-a-customers-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/How+to+handle+requests+for+External+SSO+integration+in+C8-SaaS',\n ],\n },\n },\n ssoAdmin: {\n allowed: [...CLOUD_TEAM_EMAILS, ...SUPPORT_MANAGERS_EMAILS],\n rolesToAssign: [\n 'accounts:read',\n 'accounts:connections:create',\n 'accounts:connections:update',\n 'accounts:connections:delete',\n 'support:agent',\n ],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/access-to-a-customers-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/How+to+handle+requests+for+External+SSO+integration+in+C8-SaaS',\n ],\n },\n },\n supportAgent: {\n allowed: [\n ...CLOUD_TEAM_EMAILS,\n ...SUPPORT_MANAGERS_EMAILS,\n ...C8_ENGINEERING_MANAGERS_EMAILS,\n ...CONSULTING_MANAGER_EMAILS,\n ],\n rolesToAssign: ['support:agent'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/access-to-a-customers-organization-on-c8-saas/index.md',\n ],\n },\n },\n clusterUpdateSupportEngineer: {\n allowed: [\n ...CLOUD_TEAM_EMAILS,\n ...SUPPORT_MANAGERS_EMAILS,\n ...C8_ENGINEERING_MANAGERS_EMAILS,\n ],\n rolesToAssign: [\n 'accounts:clusterUpdates',\n 'support:agent',\n 'accounts:read',\n ],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/managing-generations-on-c8-saas/index.md',\n ],\n },\n },\n c8ReleaseManager: {\n allowed: [...CLOUD_TEAM_EMAILS, ...C8_ENGINEERING_MANAGERS_EMAILS],\n rolesToAssign: [\n 'console:C8ReleaseManager',\n 'accounts:read',\n 'console:C8UpdateEnforcer',\n ],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/managing-generations-on-c8-saas/index.md',\n ],\n },\n },\n incidentEngineer: {\n allowed: [...CLOUD_TEAM_EMAILS, ...C8_ENGINEERING_MANAGERS_EMAILS],\n rolesToAssign: [\n 'accounts:read',\n 'support:agent',\n 'console:operationsEngineer',\n ],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/tweaking-a-running-cluster/index.md',\n ],\n },\n },\n consulting: {\n allowed: [...CLOUD_TEAM_EMAILS, ...CONSULTING_MANAGER_EMAILS],\n rolesToAssign: [\n 'accounts:read',\n 'console:admin:readonly',\n 'accounts:trialExtender',\n 'accounts:limitExtender',\n 'accounts:enterpriseAdmin',\n ],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/Extend+a+Trial+Subscription+on+C8+SaaS',\n ],\n },\n },\n csm: {\n allowed: [...CLOUD_TEAM_EMAILS, ...CSM_MANAGER_EMAIL],\n rolesToAssign: [\n 'accounts:enterpriseAdmin',\n 'accounts:read',\n 'accounts:trialExtender',\n ],\n email: {\n handbookPages: [\n 'https://confluence.camunda.com/display/FIELDOPS/Migrating+C8-SaaS+Organizations+to+Enterprise',\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/modify-a-running-c8-saas-enterprise-organisation/index.md',\n 'https://confluence.camunda.com/display/HAN/Extend+a+Trial+Subscription+on+C8+SaaS',\n ],\n },\n },\n csmOffboard: {\n allowed: [...CLOUD_TEAM_EMAILS, ...CSM_MANAGER_EMAIL],\n rolesToAssign: ['accounts:enterpriseOffboarding', 'accounts:read'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/shutting-down-an-c8-saas-organization/index.md',\n ],\n },\n },\n adr: {\n allowed: [...ADR_MANAGER_EMAIL, 'javier.garcia-alzorriz@camunda.com'],\n rolesToAssign: ['accounts:trialExtender', 'accounts:read'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/Extend+a+Trial+Subscription+on+C8+SaaS',\n ],\n },\n },\n trialExtender: {\n allowed: [\n ...CLOUD_TEAM_EMAILS,\n ...LIMIT_EXTENDERS,\n 'rory.tettey@camunda.com',\n ],\n rolesToAssign: ['accounts:trialExtender', 'accounts:read'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/Extend+a+Trial+Subscription+on+C8+SaaS',\n ],\n },\n },\n limitExtender: {\n allowed: [...CLOUD_TEAM_EMAILS, ...LIMIT_EXTENDERS],\n rolesToAssign: ['accounts:limitExtender', 'accounts:read'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n 'https://confluence.camunda.com/display/HAN/Managing+Organization+Limits+on+C8+SaaS',\n ],\n },\n },\n workshopCreator: {\n allowed: [...CLOUD_TEAM_EMAILS, 'robert.emsbach@camunda.com'],\n rolesToAssign: ['accounts:orgCreator'],\n email: {\n handbookPages: [\n 'https://lamppost.camunda-it.rocks/handbook/#departments/products/engineering/finding-an-organization-on-c8-saas/index.md',\n ],\n },\n },\n pdfWatermarkRead: {\n allowed: [...CLOUD_TEAM_EMAILS, ...PDF_WATERMARK_EMAILS],\n rolesToAssign: ['accounts:pdfWatermarkReader'],\n email: {\n handbookPages: [],\n },\n },\n pdfWatermarkWrite: {\n allowed: [...CLOUD_TEAM_EMAILS, ...PDF_WATERMARK_EMAILS],\n rolesToAssign: ['accounts:pdfWatermarkWriter'],\n email: {\n handbookPages: [],\n },\n },\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -23,7 +23,7 @@ export declare const getAnalyticsSalesPlanFromOrgSalesPlan: (organization: {
|
|
|
23
23
|
version: number;
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
|
-
}) => AnalyticsSalesPlanType.TRIAL | AnalyticsSalesPlanType.ENTERPRISE | AnalyticsSalesPlanType.IN_NEGOTIATION | AnalyticsSalesPlanType.INTERNAL;
|
|
26
|
+
}) => AnalyticsSalesPlanType.TRIAL | AnalyticsSalesPlanType.ENTERPRISE | AnalyticsSalesPlanType.IN_NEGOTIATION | AnalyticsSalesPlanType.INTERNAL | undefined;
|
|
27
27
|
export type RevisitedSalesPlanName = 'Camunda SaaS Trial' | 'Camunda SaaS Modeling' | 'Enterprise' | 'In Negotiation' | 'Internal';
|
|
28
28
|
export declare function getRevisitedSalesPlanName(displayedSalesPlanName: DisplayedSalesPlan | undefined): RevisitedSalesPlanName | undefined;
|
|
29
29
|
export type DisplayedSalesPlan = 'Free Trial' | 'Free' | 'Enterprise' | 'In Negotiation' | 'Internal';
|
|
@@ -158,22 +158,20 @@ var Telemetry;
|
|
|
158
158
|
const timeRangeParts = keyParts[2] ? keyParts[2].split(".." /* LEVEL1 */) : [0];
|
|
159
159
|
const tsFrom = Number(timeRangeParts[0]);
|
|
160
160
|
const tsTo = timeRangeParts[1] ? Number(timeRangeParts[1]) : void 0;
|
|
161
|
-
const entityReferences = entityReferenceIndices.
|
|
161
|
+
const entityReferences = entityReferenceIndices.flatMap((index) => {
|
|
162
162
|
const entityReference = this.data.context.entities.find(
|
|
163
163
|
(currentEntityReference) => currentEntityReference.idx === Number(index)
|
|
164
164
|
);
|
|
165
165
|
if (entityReference) {
|
|
166
|
-
return {
|
|
167
|
-
id: entityReference.id,
|
|
168
|
-
type: entityReference.type
|
|
169
|
-
};
|
|
166
|
+
return [{ id: entityReference.id, type: entityReference.type }];
|
|
170
167
|
}
|
|
168
|
+
return [];
|
|
171
169
|
});
|
|
172
170
|
const dataPointReference = this.data.context.dataPoints.find(
|
|
173
171
|
(dataPoint) => dataPoint.idx === dataPointReferenceIndex
|
|
174
172
|
);
|
|
175
173
|
this.decodedData.dataPoints.push({
|
|
176
|
-
entities: entityReferences
|
|
174
|
+
entities: entityReferences,
|
|
177
175
|
key: dataPointReference ? dataPointReference.key : "unknown",
|
|
178
176
|
type: dataPointReference ? dataPointReference.type : 0 /* STRING */,
|
|
179
177
|
tags: dataPointReference ? dataPointReference.tags : void 0,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/types/Telemetry.type.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nexport namespace Telemetry {\n // //////////////////////////////////////////////////////////////////////\n // TYPES\n\n // Specifies the references a data point belongs to, like cluster xyz, component abc, etc.\n export type EntityReferenceType =\n | 'cluster'\n | 'component'\n | 'global'\n | 'user'\n | 'other'\n export interface EntityReference {\n id: string\n type: EntityReferenceType\n idx: number\n }\n\n // Specifies the data point reference.\n // eslint-disable-next-line no-shadow\n export enum DataPointValueType {\n STRING = 0,\n NUMBER = 1,\n BOOLEAN = 2,\n }\n\n export interface DataPointReference {\n key: string\n type: DataPointValueType\n tags?: Record<string, string>\n idx: number\n }\n\n // Specifies the data body\n export type Properties = Record<string, string>\n export type InstallationContextReference = 'cid' | 'iid' // cid = customerId, iid = installationId\n export interface DataContext {\n ts: number // timestamp\n installation: Record<InstallationContextReference, string>\n entities: EntityReference[]\n dataPoints: DataPointReference[]\n }\n\n // Encoded data format\n export interface EncodedData {\n context: DataContext\n properties: Properties\n }\n\n // Decoded data format\n export interface DecodedData {\n installation: Record<InstallationContextReference, string>\n dataPoints: Array<{\n entities: Array<{\n id: string\n type: EntityReferenceType\n }>\n key: string\n type: DataPointValueType\n tags?: Record<string, string>\n transferredValue: string\n value: string | number | boolean\n tsFrom: number\n tsTo?: number\n }>\n }\n\n // HTTP types\n\n export interface PostResponse {\n success: boolean\n }\n\n // PING\n\n export interface PingRequest {\n cid: string\n iid: string\n }\n\n // //////////////////////////////////////////////////////////////////////\n // HELPERS\n\n // eslint-disable-next-line no-shadow\n export enum Separator {\n LEVEL0 = '::',\n LEVEL1 = '..',\n }\n\n export interface AddDataPointOptions {\n references: Array<{ id: string; type: EntityReferenceType }>\n dataPointKey: string\n dataPointValue: string\n dataPointValueType: DataPointValueType\n dataPointTags?: Record<string, string>\n tsFrom: number\n tsTo?: number\n }\n\n // Helper class to create encoded data\n export class DataEncoder {\n private data: EncodedData = {\n context: {\n // eslint-disable-next-line id-length\n ts: Date.now(),\n installation: {\n cid: '',\n iid: '',\n },\n entities: [],\n dataPoints: [],\n },\n properties: {},\n }\n\n public init(options: { customerId: string; installationId: string }) {\n this.data = {\n context: {\n // eslint-disable-next-line id-length\n ts: Date.now(),\n installation: {\n cid: options.customerId,\n iid: options.installationId,\n },\n entities: [],\n dataPoints: [],\n },\n properties: {},\n }\n }\n\n public getEncodedData(): EncodedData {\n return this.data\n }\n\n private getReferenceIndex(\n referenceId: string,\n referenceType: EntityReferenceType,\n ): number {\n const foundReference = this.data.context.entities.find(\n (ref) => ref.id === referenceId && ref.type === referenceType,\n )\n let entityReferenceIndex = -1\n if (foundReference) {\n entityReferenceIndex = foundReference.idx\n } else {\n // new entity reference\n entityReferenceIndex = this.data.context.entities.length\n this.data.context.entities.push({\n id: referenceId,\n type: referenceType,\n idx: entityReferenceIndex,\n })\n }\n return entityReferenceIndex\n }\n\n private getDataPointIndex(\n dataPointKey: string,\n dataPointValueType: DataPointValueType,\n dataPointTags?: Record<string, string>,\n ): number {\n const foundDataPointReference = this.data.context.dataPoints.find(\n (ref) => {\n if (ref.key === dataPointKey && ref.type === dataPointValueType) {\n // check tags\n if (dataPointTags && !ref.tags) {\n return false\n } else if (!dataPointTags && ref.tags) {\n return false\n } else if (dataPointTags && ref.tags) {\n for (const [key, value] of Object.entries(dataPointTags)) {\n if (ref.tags[key] !== value) {\n return false\n }\n }\n }\n return true\n } else {\n return false\n }\n },\n )\n let dataPointReferenceIndex = -1\n if (foundDataPointReference) {\n dataPointReferenceIndex = foundDataPointReference.idx\n } else {\n // new data point reference\n dataPointReferenceIndex = this.data.context.dataPoints.length\n this.data.context.dataPoints.push({\n key: dataPointKey,\n type: dataPointValueType,\n tags: dataPointTags,\n idx: dataPointReferenceIndex,\n })\n }\n return dataPointReferenceIndex\n }\n\n public addDataPoint(options: AddDataPointOptions) {\n const {\n references,\n dataPointKey,\n dataPointValue,\n dataPointValueType,\n dataPointTags,\n tsFrom,\n tsTo,\n } = options\n\n // find references\n const foundReferences = references.map((reference) => {\n return this.getReferenceIndex(reference.id, reference.type)\n })\n\n // find data point reference\n const foundDataPointReferenceIndex = this.getDataPointIndex(\n dataPointKey,\n dataPointValueType,\n dataPointTags,\n )\n\n // calculate timestamps\n const tsFromCalculated = tsFrom - this.data.context.ts\n let tsToCalculates: number | undefined\n if (tsTo) {\n tsToCalculates = tsTo - this.data.context.ts\n }\n\n // generate data key\n // pattern: entity reference index - data point reference index - time range diff\n const entityReferenceParts: string[] = foundReferences.map((ref) =>\n String(ref),\n )\n\n const timeRangeParts: string[] = []\n timeRangeParts.push(String(tsFromCalculated))\n if (tsToCalculates) {\n timeRangeParts.push(String(tsToCalculates))\n }\n\n const keyParts: string[] = [\n entityReferenceParts.join(Separator.LEVEL1),\n String(foundDataPointReferenceIndex),\n timeRangeParts.join(Separator.LEVEL1),\n ]\n const key = keyParts.join(Separator.LEVEL0)\n\n // add data point\n this.data.properties[key] = dataPointValue\n }\n }\n\n export class DataDecoder {\n private decodedData: DecodedData\n\n constructor(private data: EncodedData) {\n this.decodedData = {\n installation: data.context.installation,\n dataPoints: [],\n }\n this.decode()\n }\n\n public getDecodedData(): DecodedData {\n return this.decodedData\n }\n\n private decode() {\n for (const [key, value] of Object.entries(this.data.properties)) {\n const keyParts = key.split(Separator.LEVEL0)\n const entityReferenceIndices = keyParts[0]\n ? keyParts[0].split(Separator.LEVEL1)\n : [-1]\n const dataPointReferenceIndex = keyParts[1] ? Number(keyParts[1]) : -1\n const timeRangeParts = keyParts[2]\n ? keyParts[2].split(Separator.LEVEL1)\n : [0]\n const tsFrom = Number(timeRangeParts[0])\n const tsTo = timeRangeParts[1] ? Number(timeRangeParts[1]) : undefined\n\n // eslint-disable-next-line array-callback-return\n const entityReferences = entityReferenceIndices.map((index) => {\n const entityReference = this.data.context.entities.find(\n (currentEntityReference) =>\n currentEntityReference.idx === Number(index),\n )\n if (entityReference) {\n return {\n id: entityReference.id,\n type: entityReference.type,\n }\n }\n })\n const dataPointReference = this.data.context.dataPoints.find(\n (dataPoint) => dataPoint.idx === dataPointReferenceIndex,\n )\n\n this.decodedData.dataPoints.push({\n entities: entityReferences ?? [],\n key: dataPointReference ? dataPointReference.key : 'unknown',\n type: dataPointReference\n ? dataPointReference.type\n : DataPointValueType.STRING,\n tags: dataPointReference ? dataPointReference.tags : undefined,\n transferredValue: value,\n value: this.getValue(\n value,\n dataPointReference?.type ?? DataPointValueType.STRING,\n ),\n tsFrom: this.data.context.ts + tsFrom,\n tsTo: tsTo ? this.data.context.ts + tsTo : undefined,\n })\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n private getValue(\n value: string,\n type: DataPointValueType,\n ): string | number | boolean {\n switch (type) {\n case DataPointValueType.BOOLEAN:\n if (['0', 'false'].includes(value)) {\n return false\n }\n if (['1', 'true'].includes(value)) {\n return true\n }\n return false\n case DataPointValueType.NUMBER: {\n // eslint-disable-next-line no-case-declarations\n let valueAsNumber = -1\n try {\n valueAsNumber = Number(value)\n } catch (_error) {\n // ignore\n }\n return valueAsNumber\n }\n default:\n return value\n }\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nexport namespace Telemetry {\n // //////////////////////////////////////////////////////////////////////\n // TYPES\n\n // Specifies the references a data point belongs to, like cluster xyz, component abc, etc.\n export type EntityReferenceType =\n | 'cluster'\n | 'component'\n | 'global'\n | 'user'\n | 'other'\n export interface EntityReference {\n id: string\n type: EntityReferenceType\n idx: number\n }\n\n // Specifies the data point reference.\n // eslint-disable-next-line no-shadow\n export enum DataPointValueType {\n STRING = 0,\n NUMBER = 1,\n BOOLEAN = 2,\n }\n\n export interface DataPointReference {\n key: string\n type: DataPointValueType\n tags?: Record<string, string>\n idx: number\n }\n\n // Specifies the data body\n export type Properties = Record<string, string>\n export type InstallationContextReference = 'cid' | 'iid' // cid = customerId, iid = installationId\n export interface DataContext {\n ts: number // timestamp\n installation: Record<InstallationContextReference, string>\n entities: EntityReference[]\n dataPoints: DataPointReference[]\n }\n\n // Encoded data format\n export interface EncodedData {\n context: DataContext\n properties: Properties\n }\n\n // Decoded data format\n export interface DecodedData {\n installation: Record<InstallationContextReference, string>\n dataPoints: Array<{\n entities: Array<{\n id: string\n type: EntityReferenceType\n }>\n key: string\n type: DataPointValueType\n tags?: Record<string, string>\n transferredValue: string\n value: string | number | boolean\n tsFrom: number\n tsTo?: number\n }>\n }\n\n // HTTP types\n\n export interface PostResponse {\n success: boolean\n }\n\n // PING\n\n export interface PingRequest {\n cid: string\n iid: string\n }\n\n // //////////////////////////////////////////////////////////////////////\n // HELPERS\n\n // eslint-disable-next-line no-shadow\n export enum Separator {\n LEVEL0 = '::',\n LEVEL1 = '..',\n }\n\n export interface AddDataPointOptions {\n references: Array<{ id: string; type: EntityReferenceType }>\n dataPointKey: string\n dataPointValue: string\n dataPointValueType: DataPointValueType\n dataPointTags?: Record<string, string>\n tsFrom: number\n tsTo?: number\n }\n\n // Helper class to create encoded data\n export class DataEncoder {\n private data: EncodedData = {\n context: {\n // eslint-disable-next-line id-length\n ts: Date.now(),\n installation: {\n cid: '',\n iid: '',\n },\n entities: [],\n dataPoints: [],\n },\n properties: {},\n }\n\n public init(options: { customerId: string; installationId: string }) {\n this.data = {\n context: {\n // eslint-disable-next-line id-length\n ts: Date.now(),\n installation: {\n cid: options.customerId,\n iid: options.installationId,\n },\n entities: [],\n dataPoints: [],\n },\n properties: {},\n }\n }\n\n public getEncodedData(): EncodedData {\n return this.data\n }\n\n private getReferenceIndex(\n referenceId: string,\n referenceType: EntityReferenceType,\n ): number {\n const foundReference = this.data.context.entities.find(\n (ref) => ref.id === referenceId && ref.type === referenceType,\n )\n let entityReferenceIndex = -1\n if (foundReference) {\n entityReferenceIndex = foundReference.idx\n } else {\n // new entity reference\n entityReferenceIndex = this.data.context.entities.length\n this.data.context.entities.push({\n id: referenceId,\n type: referenceType,\n idx: entityReferenceIndex,\n })\n }\n return entityReferenceIndex\n }\n\n private getDataPointIndex(\n dataPointKey: string,\n dataPointValueType: DataPointValueType,\n dataPointTags?: Record<string, string>,\n ): number {\n const foundDataPointReference = this.data.context.dataPoints.find(\n (ref) => {\n if (ref.key === dataPointKey && ref.type === dataPointValueType) {\n // check tags\n if (dataPointTags && !ref.tags) {\n return false\n } else if (!dataPointTags && ref.tags) {\n return false\n } else if (dataPointTags && ref.tags) {\n for (const [key, value] of Object.entries(dataPointTags)) {\n if (ref.tags[key] !== value) {\n return false\n }\n }\n }\n return true\n } else {\n return false\n }\n },\n )\n let dataPointReferenceIndex = -1\n if (foundDataPointReference) {\n dataPointReferenceIndex = foundDataPointReference.idx\n } else {\n // new data point reference\n dataPointReferenceIndex = this.data.context.dataPoints.length\n this.data.context.dataPoints.push({\n key: dataPointKey,\n type: dataPointValueType,\n tags: dataPointTags,\n idx: dataPointReferenceIndex,\n })\n }\n return dataPointReferenceIndex\n }\n\n public addDataPoint(options: AddDataPointOptions) {\n const {\n references,\n dataPointKey,\n dataPointValue,\n dataPointValueType,\n dataPointTags,\n tsFrom,\n tsTo,\n } = options\n\n // find references\n const foundReferences = references.map((reference) => {\n return this.getReferenceIndex(reference.id, reference.type)\n })\n\n // find data point reference\n const foundDataPointReferenceIndex = this.getDataPointIndex(\n dataPointKey,\n dataPointValueType,\n dataPointTags,\n )\n\n // calculate timestamps\n const tsFromCalculated = tsFrom - this.data.context.ts\n let tsToCalculates: number | undefined\n if (tsTo) {\n tsToCalculates = tsTo - this.data.context.ts\n }\n\n // generate data key\n // pattern: entity reference index - data point reference index - time range diff\n const entityReferenceParts: string[] = foundReferences.map((ref) =>\n String(ref),\n )\n\n const timeRangeParts: string[] = []\n timeRangeParts.push(String(tsFromCalculated))\n if (tsToCalculates) {\n timeRangeParts.push(String(tsToCalculates))\n }\n\n const keyParts: string[] = [\n entityReferenceParts.join(Separator.LEVEL1),\n String(foundDataPointReferenceIndex),\n timeRangeParts.join(Separator.LEVEL1),\n ]\n const key = keyParts.join(Separator.LEVEL0)\n\n // add data point\n this.data.properties[key] = dataPointValue\n }\n }\n\n export class DataDecoder {\n private decodedData: DecodedData\n\n constructor(private data: EncodedData) {\n this.decodedData = {\n installation: data.context.installation,\n dataPoints: [],\n }\n this.decode()\n }\n\n public getDecodedData(): DecodedData {\n return this.decodedData\n }\n\n private decode() {\n for (const [key, value] of Object.entries(this.data.properties)) {\n const keyParts = key.split(Separator.LEVEL0)\n const entityReferenceIndices = keyParts[0]\n ? keyParts[0].split(Separator.LEVEL1)\n : [-1]\n const dataPointReferenceIndex = keyParts[1] ? Number(keyParts[1]) : -1\n const timeRangeParts = keyParts[2]\n ? keyParts[2].split(Separator.LEVEL1)\n : [0]\n const tsFrom = Number(timeRangeParts[0])\n const tsTo = timeRangeParts[1] ? Number(timeRangeParts[1]) : undefined\n\n const entityReferences = entityReferenceIndices.flatMap((index) => {\n const entityReference = this.data.context.entities.find(\n (currentEntityReference) =>\n currentEntityReference.idx === Number(index),\n )\n if (entityReference) {\n return [{ id: entityReference.id, type: entityReference.type }]\n }\n return []\n })\n const dataPointReference = this.data.context.dataPoints.find(\n (dataPoint) => dataPoint.idx === dataPointReferenceIndex,\n )\n\n this.decodedData.dataPoints.push({\n entities: entityReferences,\n key: dataPointReference ? dataPointReference.key : 'unknown',\n type: dataPointReference\n ? dataPointReference.type\n : DataPointValueType.STRING,\n tags: dataPointReference ? dataPointReference.tags : undefined,\n transferredValue: value,\n value: this.getValue(\n value,\n dataPointReference?.type ?? DataPointValueType.STRING,\n ),\n tsFrom: this.data.context.ts + tsFrom,\n tsTo: tsTo ? this.data.context.ts + tsTo : undefined,\n })\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n private getValue(\n value: string,\n type: DataPointValueType,\n ): string | number | boolean {\n switch (type) {\n case DataPointValueType.BOOLEAN:\n if (['0', 'false'].includes(value)) {\n return false\n }\n if (['1', 'true'].includes(value)) {\n return true\n }\n return false\n case DataPointValueType.NUMBER: {\n // eslint-disable-next-line no-case-declarations\n let valueAsNumber = -1\n try {\n valueAsNumber = Number(value)\n } catch (_error) {\n // ignore\n }\n return valueAsNumber\n }\n default:\n return value\n }\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["Telemetry", "DataPointValueType", "Separator"]
|
|
7
7
|
}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
ALLOWED_CAMUNDA_LABELS
|
|
3
3
|
} from "../types/CamundaClusterLabels.type.js";
|
|
4
4
|
function validateLabels(labels) {
|
|
5
|
-
if (labels.camunda?.length > 0) {
|
|
5
|
+
if ((labels.camunda?.length ?? 0) > 0) {
|
|
6
6
|
if (!labels.camunda.every(
|
|
7
7
|
(camundaLabelToBeSet) => ALLOWED_CAMUNDA_LABELS.includes(camundaLabelToBeSet)
|
|
8
8
|
)) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/labelValidator.utils.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport {\n ALLOWED_CAMUNDA_LABELS,\n type CamundaClusterStage,\n} from '../types/CamundaClusterLabels.type.js'\n\nexport function validateLabels(labels: {\n custom?: string[]\n camunda?: CamundaClusterStage[]\n}): boolean {\n if (labels.camunda?.length > 0) {\n if (\n !labels.camunda
|
|
5
|
-
"mappings": "AAMA;AAAA,EACE;AAAA,OAEK;AAEA,SAAS,eAAe,QAGnB;AACV,
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport {\n ALLOWED_CAMUNDA_LABELS,\n type CamundaClusterStage,\n} from '../types/CamundaClusterLabels.type.js'\n\nexport function validateLabels(labels: {\n custom?: string[]\n camunda?: CamundaClusterStage[]\n}): boolean {\n if ((labels.camunda?.length ?? 0) > 0) {\n if (\n !labels.camunda!.every((camundaLabelToBeSet) =>\n ALLOWED_CAMUNDA_LABELS.includes(camundaLabelToBeSet),\n )\n ) {\n return false\n }\n }\n return true\n}\n"],
|
|
5
|
+
"mappings": "AAMA;AAAA,EACE;AAAA,OAEK;AAEA,SAAS,eAAe,QAGnB;AACV,OAAK,OAAO,SAAS,UAAU,KAAK,GAAG;AACrC,QACE,CAAC,OAAO,QAAS;AAAA,MAAM,CAAC,wBACtB,uBAAuB,SAAS,mBAAmB;AAAA,IACrD,GACA;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/orgs/OrgHelper.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type { OrganizationRole } from '../../enums/OrganizationRole.enum.js'\nimport {\n type OrganizationPermissions,\n PermissionsForOrganizationRole,\n} from '../../types/OrganizationPermission.type.js'\n\nexport function getUserPermissionsForOrg(\n orgs: any,\n orgId: string,\n): OrganizationPermissions | undefined {\n const relatedOrg = orgs
|
|
5
|
-
"mappings": "AAOA;AAAA,EAEE;AAAA,OACK;AAEA,SAAS,yBACd,MACA,OACqC;AACrC,QAAM,aAAa,
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type { OrganizationRole } from '../../enums/OrganizationRole.enum.js'\nimport {\n type OrganizationPermissions,\n PermissionsForOrganizationRole,\n} from '../../types/OrganizationPermission.type.js'\n\nexport function getUserPermissionsForOrg(\n orgs: any,\n orgId: string,\n): OrganizationPermissions | undefined {\n const relatedOrg = orgs\n ? orgs.find((org: any) => org.id === orgId)\n : undefined\n return relatedOrg ? getPermissionsByRoles(relatedOrg.roles) : undefined\n}\n\nexport function getPermissionsByRoles(\n roles: OrganizationRole[],\n): OrganizationPermissions | undefined {\n const orgPermissions: OrganizationPermissions = {\n org: {\n clusters: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n clients: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n settings: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n usage: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n billing: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n users: {\n general: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n owner: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n admin: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n member: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n },\n activity: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n diagrams: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n forms: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n instances: {\n create: false,\n read: false,\n update: false,\n delete: false,\n }, // create === start new instances\n workflows: {\n create: false,\n read: false,\n update: false,\n delete: false,\n }, // create === deploy diagrams\n webide: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n earlyAccessFeatures: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n },\n cluster: {\n clients: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n alerts: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n operate: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n tasklist: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n optimize: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n identity: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n ipWhitelist: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n secureConnectivity: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n encryption: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n connectorSecrets: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n connectors: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n settings: {\n resourceBasedAuthorizations: {\n activate: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n configure: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n },\n identityBasedAuthorizations: {\n activate: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n },\n multiTenancy: {\n activate: {\n create: false,\n read: false,\n update: false,\n delete: false,\n },\n },\n },\n },\n }\n const permissionsForRoles: any[] = roles.map((role) =>\n PermissionsForOrganizationRole.get(role),\n )\n for (const orgRolePermissions of permissionsForRoles) {\n mergePermissions(orgPermissions, orgRolePermissions)\n }\n return orgPermissions\n}\n\n// recursive check all permissions\nfunction mergePermissions(target: any, permission: any): any {\n for (const key of Object.keys(target)) {\n if (typeof target[key] === 'boolean') {\n target[key] = target[key] || permission[key]\n } else {\n mergePermissions(target[key], permission[key])\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/user.utils.ts"],
|
|
4
|
-
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nexport function guessName(user: {\n name?: string\n given_name?: string\n family_name?: string\n}) {\n const { name, given_name, family_name } = user\n const firstname = given_name || ''\n const lastname = family_name || ''\n\n let calculatedName = { firstname, lastname }\n\n if (firstname && !lastname) {\n calculatedName = extractNameFromArg(firstname, lastname, firstname)\n } else if (!firstname && lastname) {\n calculatedName = extractNameFromArg(firstname, lastname, lastname)\n } else if (!firstname && !lastname && name) {\n calculatedName = extractNameFromArg(firstname, lastname, name)\n }\n return calculatedName\n}\nfunction extractNameFromArg(firstnamePassthrough
|
|
5
|
-
"mappings": "AAMO,SAAS,UAAU,MAIvB;AACD,QAAM,EAAE,MAAM,YAAY,YAAY,IAAI;AAC1C,QAAM,YAAY,cAAc;AAChC,QAAM,WAAW,eAAe;AAEhC,MAAI,iBAAiB,EAAE,WAAW,SAAS;AAE3C,MAAI,aAAa,CAAC,UAAU;AAC1B,qBAAiB,mBAAmB,WAAW,UAAU,SAAS;AAAA,EACpE,WAAW,CAAC,aAAa,UAAU;AACjC,qBAAiB,mBAAmB,WAAW,UAAU,QAAQ;AAAA,EACnE,WAAW,CAAC,aAAa,CAAC,YAAY,MAAM;AAC1C,qBAAiB,mBAAmB,WAAW,UAAU,IAAI;AAAA,EAC/D;AACA,SAAO;AACT;AACA,SAAS,
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nexport function guessName(user: {\n name?: string\n given_name?: string\n family_name?: string\n}) {\n const { name, given_name, family_name } = user\n const firstname = given_name || ''\n const lastname = family_name || ''\n\n let calculatedName = { firstname, lastname }\n\n if (firstname && !lastname) {\n calculatedName = extractNameFromArg(firstname, lastname, firstname)\n } else if (!firstname && lastname) {\n calculatedName = extractNameFromArg(firstname, lastname, lastname)\n } else if (!firstname && !lastname && name) {\n calculatedName = extractNameFromArg(firstname, lastname, name)\n }\n return calculatedName\n}\nfunction extractNameFromArg(\n firstnamePassthrough: string,\n lastnamePassthrough: string,\n arg: string,\n) {\n let firstname = firstnamePassthrough\n let lastname = lastnamePassthrough\n\n const nameParts = arg.split(' ')\n if (nameParts.length > 1) {\n firstname = nameParts.slice(0, -1).join(' ')\n lastname = nameParts.slice(-1).join(' ')\n }\n return { firstname, lastname }\n}\n\nexport const isCamundaUserId = (userId?: string): boolean => {\n if (!userId) {\n return false\n }\n\n const CAMUNDA_DOMAIN = 'camunda.com'\n\n // Handle Okta SAML-style user IDs: \"samlp|Okta|<email>\"\n const oktaPrefix = 'samlp|Okta|'\n if (userId.startsWith(oktaPrefix)) {\n const email = userId.substring(oktaPrefix.length)\n const atIndex = email.lastIndexOf('@')\n if (atIndex === -1) {\n return false\n }\n const domain = email.substring(atIndex + 1)\n return domain === CAMUNDA_DOMAIN\n }\n return false\n}\nexport const extractCamundaUserEmail = (userId: string): string => {\n if (!isCamundaUserId(userId)) {\n throw new Error('Not a Camunda userId')\n }\n return userId.replace('samlp|Okta|', '')\n}\n"],
|
|
5
|
+
"mappings": "AAMO,SAAS,UAAU,MAIvB;AACD,QAAM,EAAE,MAAM,YAAY,YAAY,IAAI;AAC1C,QAAM,YAAY,cAAc;AAChC,QAAM,WAAW,eAAe;AAEhC,MAAI,iBAAiB,EAAE,WAAW,SAAS;AAE3C,MAAI,aAAa,CAAC,UAAU;AAC1B,qBAAiB,mBAAmB,WAAW,UAAU,SAAS;AAAA,EACpE,WAAW,CAAC,aAAa,UAAU;AACjC,qBAAiB,mBAAmB,WAAW,UAAU,QAAQ;AAAA,EACnE,WAAW,CAAC,aAAa,CAAC,YAAY,MAAM;AAC1C,qBAAiB,mBAAmB,WAAW,UAAU,IAAI;AAAA,EAC/D;AACA,SAAO;AACT;AACA,SAAS,mBACP,sBACA,qBACA,KACA;AACA,MAAI,YAAY;AAChB,MAAI,WAAW;AAEf,QAAM,YAAY,IAAI,MAAM,GAAG;AAC/B,MAAI,UAAU,SAAS,GAAG;AACxB,gBAAY,UAAU,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG;AAC3C,eAAW,UAAU,MAAM,EAAE,EAAE,KAAK,GAAG;AAAA,EACzC;AACA,SAAO,EAAE,WAAW,SAAS;AAC/B;AAEO,MAAM,kBAAkB,CAAC,WAA6B;AAC3D,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,QAAM,iBAAiB;AAGvB,QAAM,aAAa;AACnB,MAAI,OAAO,WAAW,UAAU,GAAG;AACjC,UAAM,QAAQ,OAAO,UAAU,WAAW,MAAM;AAChD,UAAM,UAAU,MAAM,YAAY,GAAG;AACrC,QAAI,YAAY,IAAI;AAClB,aAAO;AAAA,IACT;AACA,UAAM,SAAS,MAAM,UAAU,UAAU,CAAC;AAC1C,WAAO,WAAW;AAAA,EACpB;AACA,SAAO;AACT;AACO,MAAM,0BAA0B,CAAC,WAA2B;AACjE,MAAI,CAAC,gBAAgB,MAAM,GAAG;AAC5B,UAAM,IAAI,MAAM,sBAAsB;AAAA,EACxC;AACA,SAAO,OAAO,QAAQ,eAAe,EAAE;AACzC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -34,6 +34,8 @@ const checkVersion = (params) => {
|
|
|
34
34
|
const versionSplit = params.possiblyVersionOrDockerPath?.split(":") ?? [];
|
|
35
35
|
if (versionSplit.length > 1) {
|
|
36
36
|
version = versionSplit[1];
|
|
37
|
+
} else {
|
|
38
|
+
version = params.possiblyVersionOrDockerPath ?? "";
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
if (params.trueForSnapshot && version.includes("SNAPSHOT")) {
|