@camunda/ccma-shared-types 0.0.1

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.
Files changed (284) hide show
  1. package/dist/_tests/constants/pre89EnvVarMapping.const.spec.d.ts +1 -0
  2. package/dist/_tests/types/SuspendStrategy.type.spec.d.ts +1 -0
  3. package/dist/_tests/utils/string-validation.utils.spec.d.ts +1 -0
  4. package/dist/_tests/utils/versionCheck.utils.spec.d.ts +1 -0
  5. package/dist/config/camundi-permission-rules.d.ts +3 -0
  6. package/dist/config/camundi-permission-rules.js +44 -0
  7. package/dist/config/camundi-permission-rules.js.map +7 -0
  8. package/dist/config/camundi-permission-rules.types.d.ts +52 -0
  9. package/dist/config/camundi-permission-rules.types.js +9 -0
  10. package/dist/config/camundi-permission-rules.types.js.map +7 -0
  11. package/dist/constants/duration.const.d.ts +5 -0
  12. package/dist/constants/duration.const.js +13 -0
  13. package/dist/constants/duration.const.js.map +7 -0
  14. package/dist/constants/misc.const.d.ts +73 -0
  15. package/dist/constants/misc.const.js +115 -0
  16. package/dist/constants/misc.const.js.map +7 -0
  17. package/dist/constants/pre89EnvVarMapping.const.d.ts +44 -0
  18. package/dist/constants/pre89EnvVarMapping.const.js +72 -0
  19. package/dist/constants/pre89EnvVarMapping.const.js.map +7 -0
  20. package/dist/constants/privateLinkRegions.const.d.ts +1 -0
  21. package/dist/constants/privateLinkRegions.const.js +40 -0
  22. package/dist/constants/privateLinkRegions.const.js.map +7 -0
  23. package/dist/dtos/AlertSubscription.dto.d.ts +37 -0
  24. package/dist/dtos/AlertSubscription.dto.js +22 -0
  25. package/dist/dtos/AlertSubscription.dto.js.map +7 -0
  26. package/dist/dtos/Audit.dto.d.ts +15 -0
  27. package/dist/dtos/Audit.dto.js +1 -0
  28. package/dist/dtos/Audit.dto.js.map +7 -0
  29. package/dist/dtos/Auth0ResourceServer.dto.d.ts +9 -0
  30. package/dist/dtos/Auth0ResourceServer.dto.js +1 -0
  31. package/dist/dtos/Auth0ResourceServer.dto.js.map +7 -0
  32. package/dist/dtos/Backup.dto.d.ts +12 -0
  33. package/dist/dtos/Backup.dto.js +1 -0
  34. package/dist/dtos/Backup.dto.js.map +7 -0
  35. package/dist/dtos/BackupSchedule.dto.d.ts +4 -0
  36. package/dist/dtos/BackupSchedule.dto.js +1 -0
  37. package/dist/dtos/BackupSchedule.dto.js.map +7 -0
  38. package/dist/dtos/ByomClient.dto.d.ts +17 -0
  39. package/dist/dtos/ByomClient.dto.js +1 -0
  40. package/dist/dtos/ByomClient.dto.js.map +7 -0
  41. package/dist/dtos/ClusterIpWhitelist.dto.d.ts +4 -0
  42. package/dist/dtos/ClusterIpWhitelist.dto.js +1 -0
  43. package/dist/dtos/ClusterIpWhitelist.dto.js.map +7 -0
  44. package/dist/dtos/ClusterPlan.dto.d.ts +10 -0
  45. package/dist/dtos/ClusterPlan.dto.js +1 -0
  46. package/dist/dtos/ClusterPlan.dto.js.map +7 -0
  47. package/dist/dtos/ClusterPlanType.dto.d.ts +15 -0
  48. package/dist/dtos/ClusterPlanType.dto.js +1 -0
  49. package/dist/dtos/ClusterPlanType.dto.js.map +7 -0
  50. package/dist/dtos/CommonCluster.dto.d.ts +66 -0
  51. package/dist/dtos/CommonCluster.dto.js +1 -0
  52. package/dist/dtos/CommonCluster.dto.js.map +7 -0
  53. package/dist/dtos/ConsoleCluster.dto.d.ts +16 -0
  54. package/dist/dtos/ConsoleCluster.dto.js +1 -0
  55. package/dist/dtos/ConsoleCluster.dto.js.map +7 -0
  56. package/dist/dtos/EarlyAccessFeature.dto.d.ts +18 -0
  57. package/dist/dtos/EarlyAccessFeature.dto.js +1 -0
  58. package/dist/dtos/EarlyAccessFeature.dto.js.map +7 -0
  59. package/dist/dtos/Generations.dto.d.ts +27 -0
  60. package/dist/dtos/Generations.dto.js +21 -0
  61. package/dist/dtos/Generations.dto.js.map +7 -0
  62. package/dist/dtos/Hdp.dto.d.ts +25 -0
  63. package/dist/dtos/Hdp.dto.js +1 -0
  64. package/dist/dtos/Hdp.dto.js.map +7 -0
  65. package/dist/dtos/K8sContext.dto.d.ts +45 -0
  66. package/dist/dtos/K8sContext.dto.js +1 -0
  67. package/dist/dtos/K8sContext.dto.js.map +7 -0
  68. package/dist/dtos/Meta.dto.d.ts +3 -0
  69. package/dist/dtos/Meta.dto.js +1 -0
  70. package/dist/dtos/Meta.dto.js.map +7 -0
  71. package/dist/dtos/Organization.dto.d.ts +51 -0
  72. package/dist/dtos/Organization.dto.js +1 -0
  73. package/dist/dtos/Organization.dto.js.map +7 -0
  74. package/dist/dtos/OrganizationMember.dto.d.ts +11 -0
  75. package/dist/dtos/OrganizationMember.dto.js +1 -0
  76. package/dist/dtos/OrganizationMember.dto.js.map +7 -0
  77. package/dist/dtos/OrganizationToSalesPlan.dto.d.ts +19 -0
  78. package/dist/dtos/OrganizationToSalesPlan.dto.js +1 -0
  79. package/dist/dtos/OrganizationToSalesPlan.dto.js.map +7 -0
  80. package/dist/dtos/SalesPlan.dto.d.ts +77 -0
  81. package/dist/dtos/SalesPlan.dto.js +119 -0
  82. package/dist/dtos/SalesPlan.dto.js.map +7 -0
  83. package/dist/dtos/SecureConnectivity.dto.d.ts +42 -0
  84. package/dist/dtos/SecureConnectivity.dto.js +1 -0
  85. package/dist/dtos/SecureConnectivity.dto.js.map +7 -0
  86. package/dist/dtos/Signup.dto.d.ts +38 -0
  87. package/dist/dtos/Signup.dto.js +1 -0
  88. package/dist/dtos/Signup.dto.js.map +7 -0
  89. package/dist/dtos/UsageAlert.dto.d.ts +25 -0
  90. package/dist/dtos/UsageAlert.dto.js +20 -0
  91. package/dist/dtos/UsageAlert.dto.js.map +7 -0
  92. package/dist/dtos/UserMetaData.dto.d.ts +12 -0
  93. package/dist/dtos/UserMetaData.dto.js +1 -0
  94. package/dist/dtos/UserMetaData.dto.js.map +7 -0
  95. package/dist/enums/AlertSubscription.enum.d.ts +9 -0
  96. package/dist/enums/AlertSubscription.enum.js +16 -0
  97. package/dist/enums/AlertSubscription.enum.js.map +7 -0
  98. package/dist/enums/AuditEntity.enum.d.ts +48 -0
  99. package/dist/enums/AuditEntity.enum.js +55 -0
  100. package/dist/enums/AuditEntity.enum.js.map +7 -0
  101. package/dist/enums/AuditService.enum.d.ts +4 -0
  102. package/dist/enums/AuditService.enum.js +9 -0
  103. package/dist/enums/AuditService.enum.js.map +7 -0
  104. package/dist/enums/BackupStatus.enum.d.ts +6 -0
  105. package/dist/enums/BackupStatus.enum.js +11 -0
  106. package/dist/enums/BackupStatus.enum.js.map +7 -0
  107. package/dist/enums/ClusterBulkOperation.enum.d.ts +14 -0
  108. package/dist/enums/ClusterBulkOperation.enum.js +21 -0
  109. package/dist/enums/ClusterBulkOperation.enum.js.map +7 -0
  110. package/dist/enums/ClusterClientPermissions.enum.d.ts +7 -0
  111. package/dist/enums/ClusterClientPermissions.enum.js +12 -0
  112. package/dist/enums/ClusterClientPermissions.enum.js.map +7 -0
  113. package/dist/enums/ClusterEncryptionKey.enum.d.ts +6 -0
  114. package/dist/enums/ClusterEncryptionKey.enum.js +11 -0
  115. package/dist/enums/ClusterEncryptionKey.enum.js.map +7 -0
  116. package/dist/enums/ClusterStatus.enum.d.ts +8 -0
  117. package/dist/enums/ClusterStatus.enum.js +13 -0
  118. package/dist/enums/ClusterStatus.enum.js.map +7 -0
  119. package/dist/enums/ConsoleApiClientPermission.enum.d.ts +35 -0
  120. package/dist/enums/ConsoleApiClientPermission.enum.js +40 -0
  121. package/dist/enums/ConsoleApiClientPermission.enum.js.map +7 -0
  122. package/dist/enums/ErrorType.enum.d.ts +12 -0
  123. package/dist/enums/ErrorType.enum.js +17 -0
  124. package/dist/enums/ErrorType.enum.js.map +7 -0
  125. package/dist/enums/OrganizationRole.enum.d.ts +30 -0
  126. package/dist/enums/OrganizationRole.enum.js +35 -0
  127. package/dist/enums/OrganizationRole.enum.js.map +7 -0
  128. package/dist/enums/Sse.enum.d.ts +19 -0
  129. package/dist/enums/Sse.enum.js +26 -0
  130. package/dist/enums/Sse.enum.js.map +7 -0
  131. package/dist/index.d.ts +113 -0
  132. package/dist/index.js +324 -0
  133. package/dist/index.js.map +7 -0
  134. package/dist/permissions/accounts.permissions.d.ts +171 -0
  135. package/dist/permissions/accounts.permissions.js +562 -0
  136. package/dist/permissions/accounts.permissions.js.map +7 -0
  137. package/dist/permissions/alert-distributor.permissions.d.ts +26 -0
  138. package/dist/permissions/alert-distributor.permissions.js +68 -0
  139. package/dist/permissions/alert-distributor.permissions.js.map +7 -0
  140. package/dist/permissions/auditlogger.permissions.d.ts +16 -0
  141. package/dist/permissions/auditlogger.permissions.js +42 -0
  142. package/dist/permissions/auditlogger.permissions.js.map +7 -0
  143. package/dist/permissions/combo.d.ts +4 -0
  144. package/dist/permissions/combo.js +299 -0
  145. package/dist/permissions/combo.js.map +7 -0
  146. package/dist/permissions/console.permissions.d.ts +114 -0
  147. package/dist/permissions/console.permissions.js +369 -0
  148. package/dist/permissions/console.permissions.js.map +7 -0
  149. package/dist/permissions/notification.permissions.d.ts +36 -0
  150. package/dist/permissions/notification.permissions.js +101 -0
  151. package/dist/permissions/notification.permissions.js.map +7 -0
  152. package/dist/permissions/profile.permissions.d.ts +18 -0
  153. package/dist/permissions/profile.permissions.js +272 -0
  154. package/dist/permissions/profile.permissions.js.map +7 -0
  155. package/dist/permissions/roleExpansion.utils.d.ts +10 -0
  156. package/dist/permissions/roleExpansion.utils.js +27 -0
  157. package/dist/permissions/roleExpansion.utils.js.map +7 -0
  158. package/dist/types/AuditData.type.d.ts +20 -0
  159. package/dist/types/AuditData.type.js +1 -0
  160. package/dist/types/AuditData.type.js.map +7 -0
  161. package/dist/types/Bot.types.d.ts +44 -0
  162. package/dist/types/Bot.types.js +1 -0
  163. package/dist/types/Bot.types.js.map +7 -0
  164. package/dist/types/BulkOperation.type.d.ts +57 -0
  165. package/dist/types/BulkOperation.type.js +19 -0
  166. package/dist/types/BulkOperation.type.js.map +7 -0
  167. package/dist/types/C8ClusterComponentVersions.type.d.ts +24 -0
  168. package/dist/types/C8ClusterComponentVersions.type.js +26 -0
  169. package/dist/types/C8ClusterComponentVersions.type.js.map +7 -0
  170. package/dist/types/CamundaClusterLabels.type.d.ts +13 -0
  171. package/dist/types/CamundaClusterLabels.type.js +12 -0
  172. package/dist/types/CamundaClusterLabels.type.js.map +7 -0
  173. package/dist/types/Chargebee.type.d.ts +19 -0
  174. package/dist/types/Chargebee.type.js +15 -0
  175. package/dist/types/Chargebee.type.js.map +7 -0
  176. package/dist/types/ClusterBulkOperation.type.d.ts +67 -0
  177. package/dist/types/ClusterBulkOperation.type.js +1 -0
  178. package/dist/types/ClusterBulkOperation.type.js.map +7 -0
  179. package/dist/types/ClusterModification.type.d.ts +26 -0
  180. package/dist/types/ClusterModification.type.js +1 -0
  181. package/dist/types/ClusterModification.type.js.map +7 -0
  182. package/dist/types/ClusterPlanModification.type.d.ts +22 -0
  183. package/dist/types/ClusterPlanModification.type.js +1 -0
  184. package/dist/types/ClusterPlanModification.type.js.map +7 -0
  185. package/dist/types/ClusterPlanTypeAvailabilityClass.type.d.ts +7 -0
  186. package/dist/types/ClusterPlanTypeAvailabilityClass.type.js +21 -0
  187. package/dist/types/ClusterPlanTypeAvailabilityClass.type.js.map +7 -0
  188. package/dist/types/ClusterPlanTypeCategory.type.d.ts +13 -0
  189. package/dist/types/ClusterPlanTypeCategory.type.js +40 -0
  190. package/dist/types/ClusterPlanTypeCategory.type.js.map +7 -0
  191. package/dist/types/ClusterPlanTypesToConfig.type.d.ts +7 -0
  192. package/dist/types/ClusterPlanTypesToConfig.type.js +1 -0
  193. package/dist/types/ClusterPlanTypesToConfig.type.js.map +7 -0
  194. package/dist/types/ClusterPlanTypesToReserved.type.d.ts +3 -0
  195. package/dist/types/ClusterPlanTypesToReserved.type.js +1 -0
  196. package/dist/types/ClusterPlanTypesToReserved.type.js.map +7 -0
  197. package/dist/types/ClusterUsageMetrics.type.d.ts +49 -0
  198. package/dist/types/ClusterUsageMetrics.type.js +1 -0
  199. package/dist/types/ClusterUsageMetrics.type.js.map +7 -0
  200. package/dist/types/ConsoleSelfManaged.type.d.ts +200 -0
  201. package/dist/types/ConsoleSelfManaged.type.js +93 -0
  202. package/dist/types/ConsoleSelfManaged.type.js.map +7 -0
  203. package/dist/types/ConsoleSelfManagedAdminApi.type.d.ts +111 -0
  204. package/dist/types/ConsoleSelfManagedAdminApi.type.js +1 -0
  205. package/dist/types/ConsoleSelfManagedAdminApi.type.js.map +7 -0
  206. package/dist/types/Dashboard.types.d.ts +23 -0
  207. package/dist/types/Dashboard.types.js +1 -0
  208. package/dist/types/Dashboard.types.js.map +7 -0
  209. package/dist/types/EnterpriseIncludingValueMetrics.type.d.ts +5 -0
  210. package/dist/types/EnterpriseIncludingValueMetrics.type.js +1 -0
  211. package/dist/types/EnterpriseIncludingValueMetrics.type.js.map +7 -0
  212. package/dist/types/OrganizationPermission.type.d.ts +64 -0
  213. package/dist/types/OrganizationPermission.type.js +784 -0
  214. package/dist/types/OrganizationPermission.type.js.map +7 -0
  215. package/dist/types/Roles.d.ts +5 -0
  216. package/dist/types/Roles.js +9 -0
  217. package/dist/types/Roles.js.map +7 -0
  218. package/dist/types/SalesPlanType.type.d.ts +36 -0
  219. package/dist/types/SalesPlanType.type.js +74 -0
  220. package/dist/types/SalesPlanType.type.js.map +7 -0
  221. package/dist/types/SpamDetection.type.d.ts +2 -0
  222. package/dist/types/SpamDetection.type.js +8 -0
  223. package/dist/types/SpamDetection.type.js.map +7 -0
  224. package/dist/types/SseEvent.type.d.ts +96 -0
  225. package/dist/types/SseEvent.type.js +1 -0
  226. package/dist/types/SseEvent.type.js.map +7 -0
  227. package/dist/types/Stats.types.d.ts +86 -0
  228. package/dist/types/Stats.types.js +1 -0
  229. package/dist/types/Stats.types.js.map +7 -0
  230. package/dist/types/Survey.type.d.ts +38 -0
  231. package/dist/types/Survey.type.js +10 -0
  232. package/dist/types/Survey.type.js.map +7 -0
  233. package/dist/types/SuspendStrategy.type.d.ts +17 -0
  234. package/dist/types/SuspendStrategy.type.js +11 -0
  235. package/dist/types/SuspendStrategy.type.js.map +7 -0
  236. package/dist/types/Telemetry.type.d.ts +89 -0
  237. package/dist/types/Telemetry.type.js +218 -0
  238. package/dist/types/Telemetry.type.js.map +7 -0
  239. package/dist/types/User.type.d.ts +79 -0
  240. package/dist/types/User.type.js +12 -0
  241. package/dist/types/User.type.js.map +7 -0
  242. package/dist/types/ValueMetrics.type.d.ts +26 -0
  243. package/dist/types/ValueMetrics.type.js +1 -0
  244. package/dist/types/ValueMetrics.type.js.map +7 -0
  245. package/dist/types/hdp.types.d.ts +241 -0
  246. package/dist/types/hdp.types.js +16 -0
  247. package/dist/types/hdp.types.js.map +7 -0
  248. package/dist/types/notification.type.d.ts +71 -0
  249. package/dist/types/notification.type.js +37 -0
  250. package/dist/types/notification.type.js.map +7 -0
  251. package/dist/utils/PasswordPolicy.d.ts +13 -0
  252. package/dist/utils/PasswordPolicy.js +55 -0
  253. package/dist/utils/PasswordPolicy.js.map +7 -0
  254. package/dist/utils/camundiPermissionAugmenter.utils.d.ts +25 -0
  255. package/dist/utils/camundiPermissionAugmenter.utils.js +70 -0
  256. package/dist/utils/camundiPermissionAugmenter.utils.js.map +7 -0
  257. package/dist/utils/console-sm.utils.d.ts +6 -0
  258. package/dist/utils/console-sm.utils.js +30 -0
  259. package/dist/utils/console-sm.utils.js.map +7 -0
  260. package/dist/utils/enterprise-connection.utils.d.ts +7 -0
  261. package/dist/utils/enterprise-connection.utils.js +34 -0
  262. package/dist/utils/enterprise-connection.utils.js.map +7 -0
  263. package/dist/utils/labelValidator.utils.d.ts +5 -0
  264. package/dist/utils/labelValidator.utils.js +17 -0
  265. package/dist/utils/labelValidator.utils.js.map +7 -0
  266. package/dist/utils/objectMerge.utils.d.ts +20 -0
  267. package/dist/utils/objectMerge.utils.js +90 -0
  268. package/dist/utils/objectMerge.utils.js.map +7 -0
  269. package/dist/utils/orgs/OrgHelper.d.ts +4 -0
  270. package/dist/utils/orgs/OrgHelper.js +234 -0
  271. package/dist/utils/orgs/OrgHelper.js.map +7 -0
  272. package/dist/utils/settledPromises.util.d.ts +13 -0
  273. package/dist/utils/settledPromises.util.js +26 -0
  274. package/dist/utils/settledPromises.util.js.map +7 -0
  275. package/dist/utils/string-validation.utils.d.ts +44 -0
  276. package/dist/utils/string-validation.utils.js +94 -0
  277. package/dist/utils/string-validation.utils.js.map +7 -0
  278. package/dist/utils/user.utils.d.ts +10 -0
  279. package/dist/utils/user.utils.js +53 -0
  280. package/dist/utils/user.utils.js.map +7 -0
  281. package/dist/utils/versionCheck.utils.d.ts +15 -0
  282. package/dist/utils/versionCheck.utils.js +75 -0
  283. package/dist/utils/versionCheck.utils.js.map +7 -0
  284. package/package.json +39 -0
@@ -0,0 +1,34 @@
1
+ import { OrganizationRole } from "../enums/OrganizationRole.enum.js";
2
+ const ORG_PREFIX = "org:";
3
+ function enterpriseConnectionMetadataToOrganizationAssignments(metadata) {
4
+ const orgAssignments = [];
5
+ if (metadata) {
6
+ for (const key in metadata) {
7
+ if (key.startsWith(ORG_PREFIX)) {
8
+ const orgId = key.replace(ORG_PREFIX, "");
9
+ const orgRolesAsStrings = metadata[key].split(",").map((orgRoles) => {
10
+ return orgRoles.trim();
11
+ });
12
+ if (orgRolesAsStrings.length === 0) {
13
+ orgRolesAsStrings.push(OrganizationRole.VISITOR);
14
+ }
15
+ orgAssignments.push({ orgId, roles: orgRolesAsStrings });
16
+ }
17
+ }
18
+ }
19
+ return orgAssignments;
20
+ }
21
+ function organizationAssignmentsToEnterpriseConnectionMetadata(orgAssignments) {
22
+ const metadata = {};
23
+ for (const assignment of orgAssignments) {
24
+ const orgRolesAsString = assignment.roles.join(",");
25
+ const key = `${ORG_PREFIX}${assignment.orgId}`;
26
+ metadata[key] = orgRolesAsString;
27
+ }
28
+ return metadata;
29
+ }
30
+ export {
31
+ enterpriseConnectionMetadataToOrganizationAssignments,
32
+ organizationAssignmentsToEnterpriseConnectionMetadata
33
+ };
34
+ //# sourceMappingURL=enterprise-connection.utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/enterprise-connection.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 { OrganizationRole } from '../enums/OrganizationRole.enum.js'\n\nexport interface EnterpriseConnectionOrganizationAssignment {\n orgId: string\n roles: OrganizationRole[]\n}\n\n/**\n * Helper function to convert metadata from an enterprise connection to organization assignments\n * Pattern:\n * \"org:<orgId>\": \"orgRole1,orgRole2,...\"\n * Metadata of auth0 connections only allows for string values, so we need to serialize the roles\n * We can add a max of 10 attributes, see https://auth0.com/docs/api/management/v2/connections/post-connections\n * Hint: Obviously the metadata is only added and not overwritten. To remove a key, set it to an empty string.\n */\nconst ORG_PREFIX = 'org:'\n\nexport function enterpriseConnectionMetadataToOrganizationAssignments(\n metadata: Record<string, string>,\n): EnterpriseConnectionOrganizationAssignment[] {\n const orgAssignments: EnterpriseConnectionOrganizationAssignment[] = []\n if (metadata) {\n for (const key in metadata) {\n if (key.startsWith(ORG_PREFIX)) {\n const orgId = key.replace(ORG_PREFIX, '')\n const orgRolesAsStrings = metadata[key].split(',').map((orgRoles) => {\n return orgRoles.trim() as OrganizationRole\n })\n if (orgRolesAsStrings.length === 0) {\n // This is a fallback in case the metadata is not set correctly\n orgRolesAsStrings.push(OrganizationRole.VISITOR)\n }\n orgAssignments.push({ orgId, roles: orgRolesAsStrings })\n }\n }\n }\n return orgAssignments\n}\n\nexport function organizationAssignmentsToEnterpriseConnectionMetadata(\n orgAssignments: EnterpriseConnectionOrganizationAssignment[],\n): Record<string, string> {\n const metadata: Record<string, string> = {}\n for (const assignment of orgAssignments) {\n const orgRolesAsString = assignment.roles.join(',')\n const key = `${ORG_PREFIX}${assignment.orgId}`\n metadata[key] = orgRolesAsString\n }\n return metadata\n}\n"],
5
+ "mappings": "AAMA,SAAS,wBAAwB;AAejC,MAAM,aAAa;AAEZ,SAAS,sDACd,UAC8C;AAC9C,QAAM,iBAA+D,CAAC;AACtE,MAAI,UAAU;AACZ,eAAW,OAAO,UAAU;AAC1B,UAAI,IAAI,WAAW,UAAU,GAAG;AAC9B,cAAM,QAAQ,IAAI,QAAQ,YAAY,EAAE;AACxC,cAAM,oBAAoB,SAAS,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,CAAC,aAAa;AACnE,iBAAO,SAAS,KAAK;AAAA,QACvB,CAAC;AACD,YAAI,kBAAkB,WAAW,GAAG;AAElC,4BAAkB,KAAK,iBAAiB,OAAO;AAAA,QACjD;AACA,uBAAe,KAAK,EAAE,OAAO,OAAO,kBAAkB,CAAC;AAAA,MACzD;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,sDACd,gBACwB;AACxB,QAAM,WAAmC,CAAC;AAC1C,aAAW,cAAc,gBAAgB;AACvC,UAAM,mBAAmB,WAAW,MAAM,KAAK,GAAG;AAClD,UAAM,MAAM,GAAG,UAAU,GAAG,WAAW,KAAK;AAC5C,aAAS,GAAG,IAAI;AAAA,EAClB;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ import { type CamundaClusterStage } from '../types/CamundaClusterLabels.type.js';
2
+ export declare function validateLabels(labels: {
3
+ custom?: string[];
4
+ camunda?: CamundaClusterStage[];
5
+ }): boolean;
@@ -0,0 +1,17 @@
1
+ import {
2
+ ALLOWED_CAMUNDA_LABELS
3
+ } from "../types/CamundaClusterLabels.type.js";
4
+ function validateLabels(labels) {
5
+ if (labels.camunda?.length > 0) {
6
+ if (!labels.camunda.every(
7
+ (camundaLabelToBeSet) => ALLOWED_CAMUNDA_LABELS.includes(camundaLabelToBeSet)
8
+ )) {
9
+ return false;
10
+ }
11
+ }
12
+ return true;
13
+ }
14
+ export {
15
+ validateLabels
16
+ };
17
+ //# sourceMappingURL=labelValidator.utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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.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,MAAI,OAAO,SAAS,SAAS,GAAG;AAC9B,QACE,CAAC,OAAO,QAAQ;AAAA,MAAM,CAAC,wBACrB,uBAAuB,SAAS,mBAAmB;AAAA,IACrD,GACA;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,20 @@
1
+ export interface SameObjectIdentifier {
2
+ path: string;
3
+ keys: string[];
4
+ }
5
+ export interface ObjectMergeOptions {
6
+ objectA: any;
7
+ objectB: any;
8
+ sameObjectIdentifier?: SameObjectIdentifier[];
9
+ arrayMergeStrategy?: 'replace' | 'merge';
10
+ path?: string[];
11
+ }
12
+ export declare class ObjectMergeUtils {
13
+ /**
14
+ * Merges two objects together. If a key exists in both objects, the value of the second object will be used.
15
+ * @param options objectB will be merged into objectA
16
+ * @returns
17
+ */
18
+ static merge(options: ObjectMergeOptions): any;
19
+ static mergeArray(options: ObjectMergeOptions): any[];
20
+ }
@@ -0,0 +1,90 @@
1
+ class ObjectMergeUtils {
2
+ /**
3
+ * Merges two objects together. If a key exists in both objects, the value of the second object will be used.
4
+ * @param options objectB will be merged into objectA
5
+ * @returns
6
+ */
7
+ static merge(options) {
8
+ const sameObjectIdentifier = options.sameObjectIdentifier ?? [];
9
+ const newObject = { ...options.objectA };
10
+ for (const key of Object.keys(options.objectB ?? {})) {
11
+ const currentPath = options.path ? [...options.path] : [];
12
+ currentPath.push(key);
13
+ if (newObject[key] === void 0) {
14
+ newObject[key] = options.objectB[key];
15
+ } else {
16
+ if (Array.isArray(newObject[key])) {
17
+ newObject[key] = ObjectMergeUtils.mergeArray({
18
+ objectA: newObject[key],
19
+ objectB: options.objectB[key],
20
+ sameObjectIdentifier,
21
+ path: currentPath
22
+ });
23
+ } else if (typeof newObject[key] === "object") {
24
+ newObject[key] = ObjectMergeUtils.merge({
25
+ objectA: newObject[key],
26
+ objectB: options.objectB[key],
27
+ sameObjectIdentifier,
28
+ path: currentPath
29
+ });
30
+ } else {
31
+ newObject[key] = options.objectB[key];
32
+ }
33
+ }
34
+ }
35
+ return newObject;
36
+ }
37
+ static mergeArray(options) {
38
+ const newArray = [...options.objectA];
39
+ if (!Array.isArray(options.objectB)) {
40
+ return newArray;
41
+ }
42
+ const currentPath = options.path ? [...options.path] : [];
43
+ const currentPathAsString = currentPath.join(".");
44
+ const sameObjectIdentifier = options.sameObjectIdentifier ?? [];
45
+ const foundSameObjectIdentifier = sameObjectIdentifier.find(
46
+ (item) => item.path === currentPathAsString
47
+ );
48
+ if (foundSameObjectIdentifier) {
49
+ let newArrayIndex = 0;
50
+ const foundTargetObjects = [];
51
+ for (const sourceObject of newArray) {
52
+ const foundTargetObject = options.objectB.find((targetItem) => {
53
+ return foundSameObjectIdentifier.keys.every(
54
+ (key) => sourceObject[key] === targetItem[key]
55
+ );
56
+ });
57
+ if (foundTargetObject) {
58
+ newArray[newArrayIndex] = ObjectMergeUtils.merge({
59
+ objectA: sourceObject,
60
+ objectB: foundTargetObject,
61
+ sameObjectIdentifier,
62
+ path: currentPath
63
+ });
64
+ foundTargetObjects.push(foundTargetObject);
65
+ }
66
+ newArrayIndex++;
67
+ }
68
+ const otherTargetObjects = options.objectB.filter(
69
+ (targetItem) => !foundTargetObjects.includes(targetItem)
70
+ );
71
+ if (otherTargetObjects.length > 0) {
72
+ newArray.push(...otherTargetObjects);
73
+ }
74
+ } else {
75
+ switch (options.arrayMergeStrategy) {
76
+ case "merge":
77
+ newArray.push(...options.objectB);
78
+ break;
79
+ default:
80
+ newArray.splice(0, newArray.length, ...options.objectB);
81
+ break;
82
+ }
83
+ }
84
+ return newArray;
85
+ }
86
+ }
87
+ export {
88
+ ObjectMergeUtils
89
+ };
90
+ //# sourceMappingURL=objectMerge.utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/objectMerge.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 interface SameObjectIdentifier {\n path: string\n keys: string[]\n}\n\nexport interface ObjectMergeOptions {\n objectA: any\n objectB: any\n sameObjectIdentifier?: SameObjectIdentifier[]\n arrayMergeStrategy?: 'replace' | 'merge'\n path?: string[]\n}\n\nexport class ObjectMergeUtils {\n /**\n * Merges two objects together. If a key exists in both objects, the value of the second object will be used.\n * @param options objectB will be merged into objectA\n * @returns\n */\n public static merge(options: ObjectMergeOptions): any {\n const sameObjectIdentifier = options.sameObjectIdentifier ?? []\n const newObject = { ...options.objectA }\n for (const key of Object.keys(options.objectB ?? {})) {\n const currentPath = options.path ? [...options.path] : []\n currentPath.push(key)\n if (newObject[key] === undefined) {\n newObject[key] = options.objectB[key]\n } else {\n if (Array.isArray(newObject[key])) {\n newObject[key] = ObjectMergeUtils.mergeArray({\n objectA: newObject[key],\n objectB: options.objectB[key],\n sameObjectIdentifier,\n path: currentPath,\n })\n } else if (typeof newObject[key] === 'object') {\n newObject[key] = ObjectMergeUtils.merge({\n objectA: newObject[key],\n objectB: options.objectB[key],\n sameObjectIdentifier,\n path: currentPath,\n })\n } else {\n newObject[key] = options.objectB[key]\n }\n }\n }\n return newObject\n }\n\n public static mergeArray(options: ObjectMergeOptions) {\n const newArray = [...options.objectA]\n if (!Array.isArray(options.objectB)) {\n // early return if object B is not an array\n return newArray\n }\n const currentPath = options.path ? [...options.path] : []\n const currentPathAsString = currentPath.join('.')\n const sameObjectIdentifier = options.sameObjectIdentifier ?? []\n const foundSameObjectIdentifier = sameObjectIdentifier.find(\n (item) => item.path === currentPathAsString,\n )\n if (foundSameObjectIdentifier) {\n // options contain a path that matches the current one\n let newArrayIndex = 0\n const foundTargetObjects: any[] = []\n for (const sourceObject of newArray) {\n const foundTargetObject = options.objectB.find((targetItem) => {\n return foundSameObjectIdentifier.keys.every(\n (key) => sourceObject[key] === targetItem[key],\n )\n })\n if (foundTargetObject) {\n newArray[newArrayIndex] = ObjectMergeUtils.merge({\n objectA: sourceObject,\n objectB: foundTargetObject,\n sameObjectIdentifier,\n path: currentPath,\n })\n foundTargetObjects.push(foundTargetObject)\n }\n newArrayIndex++\n }\n const otherTargetObjects = options.objectB.filter(\n (targetItem) => !foundTargetObjects.includes(targetItem),\n )\n if (otherTargetObjects.length > 0) {\n newArray.push(...otherTargetObjects)\n }\n } else {\n switch (options.arrayMergeStrategy) {\n case 'merge':\n newArray.push(...options.objectB)\n break\n default:\n newArray.splice(0, newArray.length, ...options.objectB)\n break\n }\n }\n return newArray\n }\n}\n"],
5
+ "mappings": "AAmBO,MAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5B,OAAc,MAAM,SAAkC;AACpD,UAAM,uBAAuB,QAAQ,wBAAwB,CAAC;AAC9D,UAAM,YAAY,EAAE,GAAG,QAAQ,QAAQ;AACvC,eAAW,OAAO,OAAO,KAAK,QAAQ,WAAW,CAAC,CAAC,GAAG;AACpD,YAAM,cAAc,QAAQ,OAAO,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC;AACxD,kBAAY,KAAK,GAAG;AACpB,UAAI,UAAU,GAAG,MAAM,QAAW;AAChC,kBAAU,GAAG,IAAI,QAAQ,QAAQ,GAAG;AAAA,MACtC,OAAO;AACL,YAAI,MAAM,QAAQ,UAAU,GAAG,CAAC,GAAG;AACjC,oBAAU,GAAG,IAAI,iBAAiB,WAAW;AAAA,YAC3C,SAAS,UAAU,GAAG;AAAA,YACtB,SAAS,QAAQ,QAAQ,GAAG;AAAA,YAC5B;AAAA,YACA,MAAM;AAAA,UACR,CAAC;AAAA,QACH,WAAW,OAAO,UAAU,GAAG,MAAM,UAAU;AAC7C,oBAAU,GAAG,IAAI,iBAAiB,MAAM;AAAA,YACtC,SAAS,UAAU,GAAG;AAAA,YACtB,SAAS,QAAQ,QAAQ,GAAG;AAAA,YAC5B;AAAA,YACA,MAAM;AAAA,UACR,CAAC;AAAA,QACH,OAAO;AACL,oBAAU,GAAG,IAAI,QAAQ,QAAQ,GAAG;AAAA,QACtC;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAc,WAAW,SAA6B;AACpD,UAAM,WAAW,CAAC,GAAG,QAAQ,OAAO;AACpC,QAAI,CAAC,MAAM,QAAQ,QAAQ,OAAO,GAAG;AAEnC,aAAO;AAAA,IACT;AACA,UAAM,cAAc,QAAQ,OAAO,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC;AACxD,UAAM,sBAAsB,YAAY,KAAK,GAAG;AAChD,UAAM,uBAAuB,QAAQ,wBAAwB,CAAC;AAC9D,UAAM,4BAA4B,qBAAqB;AAAA,MACrD,CAAC,SAAS,KAAK,SAAS;AAAA,IAC1B;AACA,QAAI,2BAA2B;AAE7B,UAAI,gBAAgB;AACpB,YAAM,qBAA4B,CAAC;AACnC,iBAAW,gBAAgB,UAAU;AACnC,cAAM,oBAAoB,QAAQ,QAAQ,KAAK,CAAC,eAAe;AAC7D,iBAAO,0BAA0B,KAAK;AAAA,YACpC,CAAC,QAAQ,aAAa,GAAG,MAAM,WAAW,GAAG;AAAA,UAC/C;AAAA,QACF,CAAC;AACD,YAAI,mBAAmB;AACrB,mBAAS,aAAa,IAAI,iBAAiB,MAAM;AAAA,YAC/C,SAAS;AAAA,YACT,SAAS;AAAA,YACT;AAAA,YACA,MAAM;AAAA,UACR,CAAC;AACD,6BAAmB,KAAK,iBAAiB;AAAA,QAC3C;AACA;AAAA,MACF;AACA,YAAM,qBAAqB,QAAQ,QAAQ;AAAA,QACzC,CAAC,eAAe,CAAC,mBAAmB,SAAS,UAAU;AAAA,MACzD;AACA,UAAI,mBAAmB,SAAS,GAAG;AACjC,iBAAS,KAAK,GAAG,kBAAkB;AAAA,MACrC;AAAA,IACF,OAAO;AACL,cAAQ,QAAQ,oBAAoB;AAAA,QAClC,KAAK;AACH,mBAAS,KAAK,GAAG,QAAQ,OAAO;AAChC;AAAA,QACF;AACE,mBAAS,OAAO,GAAG,SAAS,QAAQ,GAAG,QAAQ,OAAO;AACtD;AAAA,MACJ;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ import type { OrganizationRole } from '../../enums/OrganizationRole.enum.js';
2
+ import { type OrganizationPermissions } from '../../types/OrganizationPermission.type.js';
3
+ export declare function getUserPermissionsForOrg(orgs: any, orgId: string): OrganizationPermissions | undefined;
4
+ export declare function getPermissionsByRoles(roles: OrganizationRole[]): OrganizationPermissions | undefined;
@@ -0,0 +1,234 @@
1
+ import {
2
+ PermissionsForOrganizationRole
3
+ } from "../../types/OrganizationPermission.type.js";
4
+ function getUserPermissionsForOrg(orgs, orgId) {
5
+ const relatedOrg = orgs ? orgs.find((org) => org.id === orgId) : void 0;
6
+ return relatedOrg ? getPermissionsByRoles(relatedOrg.roles) : void 0;
7
+ }
8
+ function getPermissionsByRoles(roles) {
9
+ const orgPermissions = {
10
+ org: {
11
+ clusters: {
12
+ create: false,
13
+ read: false,
14
+ update: false,
15
+ delete: false
16
+ },
17
+ clients: {
18
+ create: false,
19
+ read: false,
20
+ update: false,
21
+ delete: false
22
+ },
23
+ settings: {
24
+ create: false,
25
+ read: false,
26
+ update: false,
27
+ delete: false
28
+ },
29
+ usage: {
30
+ create: false,
31
+ read: false,
32
+ update: false,
33
+ delete: false
34
+ },
35
+ billing: {
36
+ create: false,
37
+ read: false,
38
+ update: false,
39
+ delete: false
40
+ },
41
+ users: {
42
+ general: {
43
+ create: false,
44
+ read: false,
45
+ update: false,
46
+ delete: false
47
+ },
48
+ owner: {
49
+ create: false,
50
+ read: false,
51
+ update: false,
52
+ delete: false
53
+ },
54
+ admin: {
55
+ create: false,
56
+ read: false,
57
+ update: false,
58
+ delete: false
59
+ },
60
+ member: {
61
+ create: false,
62
+ read: false,
63
+ update: false,
64
+ delete: false
65
+ }
66
+ },
67
+ activity: {
68
+ create: false,
69
+ read: false,
70
+ update: false,
71
+ delete: false
72
+ },
73
+ diagrams: {
74
+ create: false,
75
+ read: false,
76
+ update: false,
77
+ delete: false
78
+ },
79
+ forms: {
80
+ create: false,
81
+ read: false,
82
+ update: false,
83
+ delete: false
84
+ },
85
+ instances: {
86
+ create: false,
87
+ read: false,
88
+ update: false,
89
+ delete: false
90
+ },
91
+ // create === start new instances
92
+ workflows: {
93
+ create: false,
94
+ read: false,
95
+ update: false,
96
+ delete: false
97
+ },
98
+ // create === deploy diagrams
99
+ webide: {
100
+ create: false,
101
+ read: false,
102
+ update: false,
103
+ delete: false
104
+ },
105
+ earlyAccessFeatures: {
106
+ create: false,
107
+ read: false,
108
+ update: false,
109
+ delete: false
110
+ }
111
+ },
112
+ cluster: {
113
+ clients: {
114
+ create: false,
115
+ read: false,
116
+ update: false,
117
+ delete: false
118
+ },
119
+ alerts: {
120
+ create: false,
121
+ read: false,
122
+ update: false,
123
+ delete: false
124
+ },
125
+ operate: {
126
+ create: false,
127
+ read: false,
128
+ update: false,
129
+ delete: false
130
+ },
131
+ tasklist: {
132
+ create: false,
133
+ read: false,
134
+ update: false,
135
+ delete: false
136
+ },
137
+ optimize: {
138
+ create: false,
139
+ read: false,
140
+ update: false,
141
+ delete: false
142
+ },
143
+ identity: {
144
+ create: false,
145
+ read: false,
146
+ update: false,
147
+ delete: false
148
+ },
149
+ ipWhitelist: {
150
+ create: false,
151
+ read: false,
152
+ update: false,
153
+ delete: false
154
+ },
155
+ secureConnectivity: {
156
+ create: false,
157
+ read: false,
158
+ update: false,
159
+ delete: false
160
+ },
161
+ encryption: {
162
+ create: false,
163
+ read: false,
164
+ update: false,
165
+ delete: false
166
+ },
167
+ connectorSecrets: {
168
+ create: false,
169
+ read: false,
170
+ update: false,
171
+ delete: false
172
+ },
173
+ connectors: {
174
+ create: false,
175
+ read: false,
176
+ update: false,
177
+ delete: false
178
+ },
179
+ settings: {
180
+ resourceBasedAuthorizations: {
181
+ activate: {
182
+ create: false,
183
+ read: false,
184
+ update: false,
185
+ delete: false
186
+ },
187
+ configure: {
188
+ create: false,
189
+ read: false,
190
+ update: false,
191
+ delete: false
192
+ }
193
+ },
194
+ identityBasedAuthorizations: {
195
+ activate: {
196
+ create: false,
197
+ read: false,
198
+ update: false,
199
+ delete: false
200
+ }
201
+ },
202
+ multiTenancy: {
203
+ activate: {
204
+ create: false,
205
+ read: false,
206
+ update: false,
207
+ delete: false
208
+ }
209
+ }
210
+ }
211
+ }
212
+ };
213
+ const permissionsForRoles = roles.map(
214
+ (role) => PermissionsForOrganizationRole.get(role)
215
+ );
216
+ for (const orgRolePermissions of permissionsForRoles) {
217
+ mergePermissions(orgPermissions, orgRolePermissions);
218
+ }
219
+ return orgPermissions;
220
+ }
221
+ function mergePermissions(target, permission) {
222
+ for (const key of Object.keys(target)) {
223
+ if (typeof target[key] === "boolean") {
224
+ target[key] = target[key] || permission[key];
225
+ } else {
226
+ mergePermissions(target[key], permission[key]);
227
+ }
228
+ }
229
+ }
230
+ export {
231
+ getPermissionsByRoles,
232
+ getUserPermissionsForOrg
233
+ };
234
+ //# sourceMappingURL=OrgHelper.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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 ? orgs.find((org) => org.id === orgId) : 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
+ "names": []
7
+ }
@@ -0,0 +1,13 @@
1
+ export declare const allSettledResultsCounts: (results: PromiseSettledResult<any>[]) => {
2
+ fulfilled: number;
3
+ rejected: number;
4
+ total: number;
5
+ };
6
+ export declare function getFulfilledPromises<T>(results: PromiseSettledResult<T>[]): T[];
7
+ export declare function getRejectedPromises<T>(results: PromiseSettledResult<T>[]): any[];
8
+ export declare function getSettledSummary<T>(results: PromiseSettledResult<T>[]): {
9
+ reasons: any[];
10
+ fulfilled: number;
11
+ rejected: number;
12
+ total: number;
13
+ };
@@ -0,0 +1,26 @@
1
+ const allSettledResultsCounts = (results) => ({
2
+ // eslint-disable-next-line id-length
3
+ fulfilled: results.filter((r) => r.status === "fulfilled").length,
4
+ // eslint-disable-next-line id-length
5
+ rejected: results.filter((r) => r.status === "rejected").length,
6
+ total: results.length
7
+ });
8
+ function getFulfilledPromises(results) {
9
+ return results.filter((r) => r.status === "fulfilled").map((r) => r.value);
10
+ }
11
+ function getRejectedPromises(results) {
12
+ return results.filter((r) => r.status === "rejected").map((r) => r.reason);
13
+ }
14
+ function getSettledSummary(results) {
15
+ return {
16
+ ...allSettledResultsCounts(results),
17
+ reasons: getRejectedPromises(results)
18
+ };
19
+ }
20
+ export {
21
+ allSettledResultsCounts,
22
+ getFulfilledPromises,
23
+ getRejectedPromises,
24
+ getSettledSummary
25
+ };
26
+ //# sourceMappingURL=settledPromises.util.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/settledPromises.util.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 const allSettledResultsCounts = (\n results: PromiseSettledResult<any>[],\n) => ({\n // eslint-disable-next-line id-length\n fulfilled: results.filter((r) => r.status === 'fulfilled').length,\n // eslint-disable-next-line id-length\n rejected: results.filter((r) => r.status === 'rejected').length,\n total: results.length,\n})\n\nexport function getFulfilledPromises<T>(\n results: PromiseSettledResult<T>[],\n): T[] {\n return (\n results\n // eslint-disable-next-line id-length\n .filter((r) => r.status === 'fulfilled')\n // eslint-disable-next-line id-length\n .map((r) => (r as PromiseFulfilledResult<T>).value)\n )\n}\nexport function getRejectedPromises<T>(results: PromiseSettledResult<T>[]) {\n return (\n results\n // eslint-disable-next-line id-length\n .filter((r) => r.status === 'rejected')\n // eslint-disable-next-line id-length\n .map((r) => (r as PromiseRejectedResult).reason)\n )\n}\nexport function getSettledSummary<T>(results: PromiseSettledResult<T>[]) {\n return {\n ...allSettledResultsCounts(results),\n reasons: getRejectedPromises(results),\n }\n}\n"],
5
+ "mappings": "AAMO,MAAM,0BAA0B,CACrC,aACI;AAAA;AAAA,EAEJ,WAAW,QAAQ,OAAO,CAAC,MAAM,EAAE,WAAW,WAAW,EAAE;AAAA;AAAA,EAE3D,UAAU,QAAQ,OAAO,CAAC,MAAM,EAAE,WAAW,UAAU,EAAE;AAAA,EACzD,OAAO,QAAQ;AACjB;AAEO,SAAS,qBACd,SACK;AACL,SACE,QAEG,OAAO,CAAC,MAAM,EAAE,WAAW,WAAW,EAEtC,IAAI,CAAC,MAAO,EAAgC,KAAK;AAExD;AACO,SAAS,oBAAuB,SAAoC;AACzE,SACE,QAEG,OAAO,CAAC,MAAM,EAAE,WAAW,UAAU,EAErC,IAAI,CAAC,MAAO,EAA4B,MAAM;AAErD;AACO,SAAS,kBAAqB,SAAoC;AACvE,SAAO;AAAA,IACL,GAAG,wBAAwB,OAAO;AAAA,IAClC,SAAS,oBAAoB,OAAO;AAAA,EACtC;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,44 @@
1
+ export declare function isValidHostname(value: string): boolean;
2
+ /**
3
+ * Validates that a client name contains only allowed characters:
4
+ * letters, digits, dashes, and underscores.
5
+ *
6
+ * @param name - The client name to validate
7
+ * @returns true if the name is valid, false otherwise
8
+ */
9
+ export declare function isValidClientName(name: string): boolean;
10
+ /**
11
+ * Validates a single IPv4 address or CIDR notation.
12
+ *
13
+ * Valid examples:
14
+ * - 192.168.1.1
15
+ * - 10.0.0.0/8
16
+ * - 0.0.0.0/0
17
+ * - 255.255.255.255/32
18
+ *
19
+ * Invalid examples:
20
+ * - 999.999.999.999 (octets must be 0-255)
21
+ * - 1.2.3.4/55 (prefix must be 0-32)
22
+ * - 256.1.1.1 (octets must be 0-255)
23
+ * - 1.2.3 (must have 4 octets)
24
+ *
25
+ * @param cidr - The IPv4 address or CIDR notation to validate
26
+ * @returns true if the CIDR is valid, false otherwise
27
+ */
28
+ export declare function isValidCIDR(cidr: string): boolean;
29
+ /**
30
+ * Validates a comma-separated list of IPv4 addresses and/or CIDR notations.
31
+ *
32
+ * Valid examples:
33
+ * - "192.168.1.1"
34
+ * - "192.168.1.1,10.0.0.0/8"
35
+ * - "192.168.1.1, 10.0.0.0/8" (spaces are trimmed)
36
+ *
37
+ * Invalid examples:
38
+ * - "192.168.1.1,999.999.999.999" (second entry is invalid)
39
+ * - "1.2.3.4/55" (prefix is invalid)
40
+ *
41
+ * @param cidrList - A comma-separated list of IPv4 addresses or CIDR notations
42
+ * @returns true if all entries in the list are valid, false otherwise
43
+ */
44
+ export declare function isValidCIDRList(cidrList: string): boolean;
@@ -0,0 +1,94 @@
1
+ function isValidHostname(value) {
2
+ if (typeof value !== "string") {
3
+ return false;
4
+ }
5
+ const validHostnameChars = /^[a-zA-Z0-9-.]{1,253}\.?$/gu;
6
+ if (!validHostnameChars.test(value)) {
7
+ return false;
8
+ }
9
+ if (value.endsWith(".")) {
10
+ value = value.slice(0, value.length - 1);
11
+ }
12
+ if (value.length > 253) {
13
+ return false;
14
+ }
15
+ const labels = value.split(".");
16
+ const isValid = labels.every((label) => {
17
+ const validLabelChars = /^([a-zA-Z0-9-]+)$/gu;
18
+ const validLabel = validLabelChars.test(label) && label.length < 64 && !label.startsWith("-") && !label.endsWith("-");
19
+ return validLabel;
20
+ });
21
+ return isValid;
22
+ }
23
+ const CLIENT_NAME_REGEX = /^[a-zA-Z0-9_-]+$/u;
24
+ function isValidClientName(name) {
25
+ if (typeof name !== "string") {
26
+ return false;
27
+ }
28
+ if (name.trim().length === 0) {
29
+ return false;
30
+ }
31
+ return CLIENT_NAME_REGEX.test(name);
32
+ }
33
+ function isValidCIDR(cidr) {
34
+ if (typeof cidr !== "string") {
35
+ return false;
36
+ }
37
+ const trimmed = cidr.trim();
38
+ if (trimmed.length === 0) {
39
+ return false;
40
+ }
41
+ const parts = trimmed.split("/");
42
+ if (parts.length > 2) {
43
+ return false;
44
+ }
45
+ const ip = parts[0];
46
+ const prefix = parts[1];
47
+ const octets = ip.split(".");
48
+ if (octets.length !== 4) {
49
+ return false;
50
+ }
51
+ for (const octet of octets) {
52
+ if (!/^\d+$/u.test(octet)) {
53
+ return false;
54
+ }
55
+ const num = parseInt(octet, 10);
56
+ if (num < 0 || num > 255) {
57
+ return false;
58
+ }
59
+ if (octet.length > 1 && octet.startsWith("0")) {
60
+ return false;
61
+ }
62
+ }
63
+ if (prefix !== void 0) {
64
+ if (!/^\d+$/u.test(prefix)) {
65
+ return false;
66
+ }
67
+ const prefixNum = parseInt(prefix, 10);
68
+ if (prefixNum < 0 || prefixNum > 32) {
69
+ return false;
70
+ }
71
+ }
72
+ return true;
73
+ }
74
+ function isValidCIDRList(cidrList) {
75
+ if (typeof cidrList !== "string") {
76
+ return false;
77
+ }
78
+ const trimmed = cidrList.trim();
79
+ if (trimmed.length === 0) {
80
+ return false;
81
+ }
82
+ const entries = trimmed.split(",");
83
+ if (entries.length === 0) {
84
+ return false;
85
+ }
86
+ return entries.every((entry) => isValidCIDR(entry));
87
+ }
88
+ export {
89
+ isValidCIDR,
90
+ isValidCIDRList,
91
+ isValidClientName,
92
+ isValidHostname
93
+ };
94
+ //# sourceMappingURL=string-validation.utils.js.map