@camunda/ccma-shared-types 0.1.2 → 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.
Files changed (53) hide show
  1. package/dist/config/camundi-permission-rules.js +6 -9
  2. package/dist/config/camundi-permission-rules.js.map +2 -2
  3. package/dist/config/camundi-permission-rules.types.d.ts +5 -0
  4. package/dist/config/camundi-permission-rules.types.js.map +1 -1
  5. package/dist/constants/trialExtensionSurvey.const.d.ts +12 -0
  6. package/dist/constants/trialExtensionSurvey.const.js +36 -0
  7. package/dist/constants/trialExtensionSurvey.const.js.map +7 -0
  8. package/dist/dtos/CommonCluster.dto.d.ts +6 -0
  9. package/dist/dtos/ControlV2.dto.d.ts +111 -0
  10. package/dist/dtos/ControlV2.dto.js +1 -0
  11. package/dist/dtos/ControlV2.dto.js.map +7 -0
  12. package/dist/dtos/Generations.dto.js.map +2 -2
  13. package/dist/dtos/OrganizationToSalesPlan.dto.d.ts +1 -0
  14. package/dist/dtos/SalesPlan.dto.d.ts +8 -2
  15. package/dist/dtos/SalesPlan.dto.js +12 -0
  16. package/dist/dtos/SalesPlan.dto.js.map +2 -2
  17. package/dist/dtos/SystemAudit.dto.d.ts +24 -0
  18. package/dist/dtos/SystemAudit.dto.js +1 -0
  19. package/dist/dtos/SystemAudit.dto.js.map +7 -0
  20. package/dist/enums/SystemAuditEntity.enum.d.ts +69 -0
  21. package/dist/enums/SystemAuditEntity.enum.js +69 -0
  22. package/dist/enums/SystemAuditEntity.enum.js.map +7 -0
  23. package/dist/index.d.ts +7 -1
  24. package/dist/index.js +8 -0
  25. package/dist/index.js.map +2 -2
  26. package/dist/permissions/accounts.permissions.d.ts +6 -0
  27. package/dist/permissions/accounts.permissions.js +19 -0
  28. package/dist/permissions/accounts.permissions.js.map +2 -2
  29. package/dist/permissions/combo.js +10 -0
  30. package/dist/permissions/combo.js.map +2 -2
  31. package/dist/permissions/combo.pdfWatermark.spec.d.ts +1 -0
  32. package/dist/permissions/console.permissions.d.ts +6 -0
  33. package/dist/permissions/console.permissions.js +16 -0
  34. package/dist/permissions/console.permissions.js.map +2 -2
  35. package/dist/permissions/profile.permissions.js +22 -1
  36. package/dist/permissions/profile.permissions.js.map +2 -2
  37. package/dist/types/Roles.d.ts +1 -1
  38. package/dist/types/Roles.js.map +2 -2
  39. package/dist/types/SalesPlanType.type.d.ts +1 -1
  40. package/dist/types/SystemAuditData.type.d.ts +21 -0
  41. package/dist/types/SystemAuditData.type.js +1 -0
  42. package/dist/types/SystemAuditData.type.js.map +7 -0
  43. package/dist/types/Telemetry.type.js +4 -6
  44. package/dist/types/Telemetry.type.js.map +2 -2
  45. package/dist/types/hdp.types.d.ts +15 -1
  46. package/dist/types/hdp.types.js.map +1 -1
  47. package/dist/utils/labelValidator.utils.js +1 -1
  48. package/dist/utils/labelValidator.utils.js.map +2 -2
  49. package/dist/utils/orgs/OrgHelper.js.map +2 -2
  50. package/dist/utils/user.utils.js.map +2 -2
  51. package/dist/utils/versionCheck.utils.js +2 -0
  52. package/dist/utils/versionCheck.utils.js.map +2 -2
  53. package/package.json +1 -1
@@ -1,17 +1,16 @@
1
1
  const CONFIG = {
2
2
  departmentRules: {
3
- "205882305": ["accounts:read"],
3
+ "205882305": ["accounts:read", "accounts:trialExtender"],
4
4
  // CS
5
+ Marketing: ["accounts:read", "accounts:trialExtender"],
6
+ "205882307": ["accounts:read", "accounts:trialExtender"],
7
+ // revops
5
8
  Products: ["console:admin:readonly", "accounts:read"],
6
9
  Executive: ["accounts:read"],
7
- "205882307": ["accounts:read"],
8
- // RevOps
9
- "259633605": ["accounts:read"]
10
+ "259633605": ["accounts:read", "accounts:trialExtender"]
10
11
  // Sales
11
12
  },
12
13
  divisionRules: {
13
- "Sales Development": ["accounts:trialExtender", "accounts:read"],
14
- // ADR
15
14
  Engineering: ["console:admin:readonly"],
16
15
  "259633608": [
17
16
  "accounts:connections:create",
@@ -23,10 +22,8 @@ const CONFIG = {
23
22
  "accounts:trialExtender",
24
23
  "accounts:limitExtender",
25
24
  "support:agent"
26
- ],
25
+ ]
27
26
  // Pre-Sales as per https://confluence.camunda.com/spaces/HAN/pages/168660217/Adjust+C8+SaaS+permissions+and+sales+plan#AdjustC8SaaSpermissionsandsalesplan-DetailsperRole
28
- "266229124": ["accounts:trialExtender"]
29
- // Enterprise success
30
27
  },
31
28
  subdivisionRules: {
32
29
  "256909487": ["accounts:admin", "console:admin", "consoleTeam"],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/config/camundi-permission-rules.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 { CamundiPermissionRules } from './camundi-permission-rules.types.js'\n\nconst CONFIG: CamundiPermissionRules = {\n departmentRules: {\n '205882305': ['accounts:read'], // CS\n Products: ['console:admin:readonly', 'accounts:read'],\n Executive: ['accounts:read'],\n '205882307': ['accounts:read'], // RevOps\n '259633605': ['accounts:read'], // Sales\n },\n divisionRules: {\n 'Sales Development': ['accounts:trialExtender', 'accounts:read'], // ADR\n Engineering: ['console:admin:readonly'],\n '259633608': [\n 'accounts:connections:create',\n 'accounts:connections:update',\n 'support:agent',\n ], // Support\n '259633611': [\n 'accounts:trialExtender',\n 'accounts:limitExtender',\n 'support:agent',\n ], // Pre-Sales as per https://confluence.camunda.com/spaces/HAN/pages/168660217/Adjust+C8+SaaS+permissions+and+sales+plan#AdjustC8SaaSpermissionsandsalesplan-DetailsperRole\n '266229124': ['accounts:trialExtender'], // Enterprise success\n },\n subdivisionRules: {\n '256909487': ['accounts:admin', 'console:admin', 'consoleTeam'], // console team\n 'Engineering Management': [\n 'accounts:addSafeRoles',\n 'accounts:orgCreator',\n 'console:C8ReleaseManager',\n ], // Engineering Management\n '258049291': ['console:clusterPlanManager', 'console:operationsEngineer'], // controller team\n },\n}\nexport default CONFIG\n"],
5
- "mappings": "AAQA,MAAM,SAAiC;AAAA,EACrC,iBAAiB;AAAA,IACf,aAAa,CAAC,eAAe;AAAA;AAAA,IAC7B,UAAU,CAAC,0BAA0B,eAAe;AAAA,IACpD,WAAW,CAAC,eAAe;AAAA,IAC3B,aAAa,CAAC,eAAe;AAAA;AAAA,IAC7B,aAAa,CAAC,eAAe;AAAA;AAAA,EAC/B;AAAA,EACA,eAAe;AAAA,IACb,qBAAqB,CAAC,0BAA0B,eAAe;AAAA;AAAA,IAC/D,aAAa,CAAC,wBAAwB;AAAA,IACtC,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA,IACA,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA,IACA,aAAa,CAAC,wBAAwB;AAAA;AAAA,EACxC;AAAA,EACA,kBAAkB;AAAA,IAChB,aAAa,CAAC,kBAAkB,iBAAiB,aAAa;AAAA;AAAA,IAC9D,0BAA0B;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA,IACA,aAAa,CAAC,8BAA8B,4BAA4B;AAAA;AAAA,EAC1E;AACF;AACA,IAAO,mCAAQ;",
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 { CamundiPermissionRules } from './camundi-permission-rules.types.js'\n\nconst CONFIG: CamundiPermissionRules = {\n departmentRules: {\n '205882305': ['accounts:read', 'accounts:trialExtender'], // CS\n Marketing: ['accounts:read', 'accounts:trialExtender'],\n '205882307': ['accounts:read', 'accounts:trialExtender'], // revops\n Products: ['console:admin:readonly', 'accounts:read'],\n Executive: ['accounts:read'],\n '259633605': ['accounts:read', 'accounts:trialExtender'], // Sales\n },\n divisionRules: {\n Engineering: ['console:admin:readonly'],\n '259633608': [\n 'accounts:connections:create',\n 'accounts:connections:update',\n 'support:agent',\n ], // Support\n '259633611': [\n 'accounts:trialExtender',\n 'accounts:limitExtender',\n 'support:agent',\n ], // Pre-Sales as per https://confluence.camunda.com/spaces/HAN/pages/168660217/Adjust+C8+SaaS+permissions+and+sales+plan#AdjustC8SaaSpermissionsandsalesplan-DetailsperRole\n },\n subdivisionRules: {\n '256909487': ['accounts:admin', 'console:admin', 'consoleTeam'], // console team\n 'Engineering Management': [\n 'accounts:addSafeRoles',\n 'accounts:orgCreator',\n 'console:C8ReleaseManager',\n ], // Engineering Management\n '258049291': ['console:clusterPlanManager', 'console:operationsEngineer'], // controller team\n },\n}\nexport default CONFIG\n"],
5
+ "mappings": "AAQA,MAAM,SAAiC;AAAA,EACrC,iBAAiB;AAAA,IACf,aAAa,CAAC,iBAAiB,wBAAwB;AAAA;AAAA,IACvD,WAAW,CAAC,iBAAiB,wBAAwB;AAAA,IACrD,aAAa,CAAC,iBAAiB,wBAAwB;AAAA;AAAA,IACvD,UAAU,CAAC,0BAA0B,eAAe;AAAA,IACpD,WAAW,CAAC,eAAe;AAAA,IAC3B,aAAa,CAAC,iBAAiB,wBAAwB;AAAA;AAAA,EACzD;AAAA,EACA,eAAe;AAAA,IACb,aAAa,CAAC,wBAAwB;AAAA,IACtC,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA,IACA,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB,aAAa,CAAC,kBAAkB,iBAAiB,aAAa;AAAA;AAAA,IAC9D,0BAA0B;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA,IACA,aAAa,CAAC,8BAA8B,4BAA4B;AAAA;AAAA,EAC1E;AACF;AACA,IAAO,mCAAQ;",
6
6
  "names": []
7
7
  }
@@ -44,6 +44,11 @@ export interface HibobEmployee {
44
44
  [DEPARTMENT]?: {
45
45
  value: string;
46
46
  };
47
+ '/work/reportsTo'?: {
48
+ value?: {
49
+ email?: string;
50
+ };
51
+ };
47
52
  work: {
48
53
  reportsTo: {
49
54
  email?: string;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/config/camundi-permission-rules.types.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\n/**\n * Configuration for automatic permission augmentation for Camundis\n * based on their organizational structure (department, division, subdivision).\n */\nexport interface CamundiPermissionRules {\n /**\n * Rules based on department ID or name\n * Key: department ID (e.g., \"205882305\") or department name (e.g., \"Products\")\n * Value: array of roles to grant\n */\n departmentRules: Record<string, Roles[]>\n\n /**\n * Rules based on division name\n * Key: division name (e.g., \"Engineering\")\n * Value: array of roles to grant\n */\n divisionRules: Record<string, Roles[]>\n\n /**\n * Rules based on subdivision ID or name\n * Key: subdivision ID (e.g., \"256909487\") or name\n * Value: array of roles to grant\n */\n subdivisionRules: Record<string, Roles[]>\n}\n\n// HiBob field paths as constants\nexport const DEPARTMENT = '/work/department'\nexport const DIVISION = '/work/customColumns/column_1629151319875'\nexport const SUB_DIVISION = '/work/customColumns/column_1642024758438'\n\n/**\n * HiBob employee interface (subset of fields we need)\n */\nexport interface HibobEmployee {\n id: string\n email?: string\n '/root/email'?: {\n value: string\n }\n [DIVISION]?: {\n value: string\n }\n [SUB_DIVISION]?: {\n value: string\n }\n [DEPARTMENT]?: {\n value: string\n }\n work: {\n reportsTo: {\n email?: string\n }\n }\n}\n"],
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\n/**\n * Configuration for automatic permission augmentation for Camundis\n * based on their organizational structure (department, division, subdivision).\n */\nexport interface CamundiPermissionRules {\n /**\n * Rules based on department ID or name\n * Key: department ID (e.g., \"205882305\") or department name (e.g., \"Products\")\n * Value: array of roles to grant\n */\n departmentRules: Record<string, Roles[]>\n\n /**\n * Rules based on division name\n * Key: division name (e.g., \"Engineering\")\n * Value: array of roles to grant\n */\n divisionRules: Record<string, Roles[]>\n\n /**\n * Rules based on subdivision ID or name\n * Key: subdivision ID (e.g., \"256909487\") or name\n * Value: array of roles to grant\n */\n subdivisionRules: Record<string, Roles[]>\n}\n\n// HiBob field paths as constants\nexport const DEPARTMENT = '/work/department'\nexport const DIVISION = '/work/customColumns/column_1629151319875'\nexport const SUB_DIVISION = '/work/customColumns/column_1642024758438'\n\n/**\n * HiBob employee interface (subset of fields we need)\n */\nexport interface HibobEmployee {\n id: string\n email?: string\n '/root/email'?: {\n value: string\n }\n [DIVISION]?: {\n value: string\n }\n [SUB_DIVISION]?: {\n value: string\n }\n [DEPARTMENT]?: {\n value: string\n }\n '/work/reportsTo'?: {\n value?: {\n email?: string\n }\n }\n work: {\n reportsTo: {\n email?: string\n }\n }\n}\n"],
5
5
  "mappings": "AAoCO,MAAM,aAAa;AACnB,MAAM,WAAW;AACjB,MAAM,eAAe;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,12 @@
1
+ export interface TrialExtensionSurveyQuestion {
2
+ id: string;
3
+ question: string;
4
+ type: 'text' | 'select' | 'multiselect';
5
+ options?: string[];
6
+ required: boolean;
7
+ }
8
+ export interface TrialExtensionSurveyAnswer {
9
+ questionId: string;
10
+ answer: string | string[];
11
+ }
12
+ export declare const TRIAL_EXTENSION_SURVEY_QUESTIONS: TrialExtensionSurveyQuestion[];
@@ -0,0 +1,36 @@
1
+ const TRIAL_EXTENSION_SURVEY_QUESTIONS = [
2
+ {
3
+ id: "evaluating",
4
+ question: "What are you evaluating during this trial?",
5
+ type: "multiselect",
6
+ options: [
7
+ "A specific use case / proof of concept / demo",
8
+ "Testing a new capability or alpha feature",
9
+ "Just exploring \u2014 no specific project yet"
10
+ ],
11
+ required: true
12
+ },
13
+ {
14
+ id: "timeline",
15
+ question: "What's your timeline for a production decision?",
16
+ type: "select",
17
+ options: ["1\u20133 months", "3\u20136 months", "6+ months"],
18
+ required: true
19
+ },
20
+ {
21
+ id: "next_steps",
22
+ question: "What would help you move forward?",
23
+ type: "multiselect",
24
+ options: [
25
+ "More time to run tests",
26
+ "Technical guidance / architecture review",
27
+ "A conversation with our team",
28
+ "Nothing \u2014 just need more time"
29
+ ],
30
+ required: true
31
+ }
32
+ ];
33
+ export {
34
+ TRIAL_EXTENSION_SURVEY_QUESTIONS
35
+ };
36
+ //# sourceMappingURL=trialExtensionSurvey.const.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants/trialExtensionSurvey.const.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 TrialExtensionSurveyQuestion {\n id: string\n question: string\n type: 'text' | 'select' | 'multiselect'\n options?: string[]\n required: boolean\n}\n\nexport interface TrialExtensionSurveyAnswer {\n questionId: string\n answer: string | string[]\n}\n\nexport const TRIAL_EXTENSION_SURVEY_QUESTIONS: TrialExtensionSurveyQuestion[] =\n [\n {\n id: 'evaluating',\n question: 'What are you evaluating during this trial?',\n type: 'multiselect',\n options: [\n 'A specific use case / proof of concept / demo',\n 'Testing a new capability or alpha feature',\n 'Just exploring \u2014 no specific project yet',\n ],\n required: true,\n },\n {\n id: 'timeline',\n question: \"What's your timeline for a production decision?\",\n type: 'select',\n options: ['1\u20133 months', '3\u20136 months', '6+ months'],\n required: true,\n },\n {\n id: 'next_steps',\n question: 'What would help you move forward?',\n type: 'multiselect',\n options: [\n 'More time to run tests',\n 'Technical guidance / architecture review',\n 'A conversation with our team',\n 'Nothing \u2014 just need more time',\n ],\n required: true,\n },\n ]\n"],
5
+ "mappings": "AAmBO,MAAM,mCACX;AAAA,EACE;AAAA,IACE,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS,CAAC,mBAAc,mBAAc,WAAW;AAAA,IACjD,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,UAAU;AAAA,EACZ;AACF;",
6
+ "names": []
7
+ }
@@ -56,6 +56,12 @@ export interface CommonClusterDto {
56
56
  };
57
57
  swagger?: boolean;
58
58
  optimizeEnabled?: boolean;
59
+ optimizeFiltering?: {
60
+ includeProcessIds?: string[];
61
+ excludeProcessIds?: string[];
62
+ includeVariableNames?: string[];
63
+ excludeVariableNames?: string[];
64
+ };
59
65
  };
60
66
  rba?: boolean;
61
67
  identityBackendChecksEnabled?: boolean;
@@ -0,0 +1,111 @@
1
+ import type { SalesPlanType } from '../types/SalesPlanType.type.js';
2
+ /** Generic cursor-paginated response. `nextCursor === null` on the last page. */
3
+ export interface CursorPage<T> {
4
+ items: T[];
5
+ nextCursor: string | null;
6
+ }
7
+ /** Cursor pagination query params shared by all v2 list endpoints. */
8
+ export interface CursorParams {
9
+ cursor?: string;
10
+ limit?: number;
11
+ }
12
+ export interface ControlSessionUser {
13
+ id: string;
14
+ email: string;
15
+ name: string;
16
+ }
17
+ /**
18
+ * Flat map of resolved capability flags for the signed-in user, computed
19
+ * server-side from the existing JWT-claim + Auth0-metadata model (kept as-is,
20
+ * spec Q12). The shell uses these to gate navigation; the backend flattens its
21
+ * `Features` object into the subset the nav needs.
22
+ */
23
+ export type ControlResolvedPermissions = Record<string, boolean>;
24
+ export interface OrgSummaryV2Dto {
25
+ id: string;
26
+ name: string;
27
+ role: string;
28
+ clusterCount: number;
29
+ }
30
+ export interface ControlSessionDto {
31
+ user: ControlSessionUser;
32
+ permissions: ControlResolvedPermissions;
33
+ organizations: OrgSummaryV2Dto[];
34
+ }
35
+ export interface OrgListItemV2Dto {
36
+ id: string;
37
+ name: string;
38
+ /** ISO-8601; part of the cursor key. */
39
+ created: string;
40
+ internal: boolean;
41
+ salesPlanType?: SalesPlanType;
42
+ salesForceId?: string;
43
+ /** Batched per page (spec §9.4 B3); absent if the count lookup failed. */
44
+ clusterCount?: number;
45
+ }
46
+ export interface ListOrganizationsV2Params extends CursorParams {
47
+ q?: string;
48
+ sort?: 'name' | 'created' | 'internal';
49
+ order?: 'asc' | 'desc';
50
+ filter?: {
51
+ internal?: boolean;
52
+ salesPlanType?: SalesPlanType;
53
+ };
54
+ }
55
+ export interface OrgDetailV2Dto extends OrgListItemV2Dto {
56
+ /** Full detail fields are added as the detail page is built (Phase 3). */
57
+ metadata?: Record<string, unknown>;
58
+ }
59
+ export interface OrgMemberV2Dto {
60
+ userId: string;
61
+ email: string;
62
+ name?: string;
63
+ roles: string[];
64
+ status: 'active' | 'invited';
65
+ /** ISO-8601. */
66
+ invitedAt?: string;
67
+ /** ISO-8601. */
68
+ joinedAt?: string;
69
+ }
70
+ export interface ListOrgMembersV2Params extends CursorParams {
71
+ q?: string;
72
+ }
73
+ export interface ClusterListItemV2Dto {
74
+ id: string;
75
+ name: string;
76
+ orgId: string;
77
+ orgName: string;
78
+ /** Normalized server-side; augmented on the fly from the K8s watcher (§9.4 B1). */
79
+ status: string;
80
+ plan: string;
81
+ generation: string;
82
+ region: string;
83
+ /** Display-only; not a sort/filter key (§9.4 B2). */
84
+ load?: number;
85
+ updateAvailable: boolean;
86
+ /** ISO-8601; part of the cursor key. */
87
+ created: string;
88
+ }
89
+ /** Detail extends the list shape; richer fields are added in Phase 3. */
90
+ export type ClusterDetailV2Dto = ClusterListItemV2Dto;
91
+ export interface ListClustersV2Params extends CursorParams {
92
+ q?: string;
93
+ sort?: 'name' | 'created';
94
+ order?: 'asc' | 'desc';
95
+ filter?: {
96
+ status?: string;
97
+ plan?: string;
98
+ generation?: string;
99
+ region?: string;
100
+ orgId?: string;
101
+ };
102
+ }
103
+ export interface ClusterParameterOptionV2Dto {
104
+ id: string;
105
+ name: string;
106
+ }
107
+ export interface ClusterParametersV2Dto {
108
+ plans: ClusterParameterOptionV2Dto[];
109
+ generations: ClusterParameterOptionV2Dto[];
110
+ regions: ClusterParameterOptionV2Dto[];
111
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=ControlV2.dto.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/dtos/Generations.dto.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 semver from 'semver'\nimport type { ZeebeClusterVersionsDto } from '../types/C8ClusterComponentVersions.type.js'\n\nexport interface GenerationDto {\n name: string\n uuid: string\n versions: ZeebeClusterVersionsDto\n upgradeableFrom: GenerationDto[]\n createdBy: string\n createdByName?: string\n created: Date\n updatedBy: string\n updated: Date\n isUnsupportedStarting?: Date\n isBespoke?: boolean\n}\n\nexport interface GenerationWithClusterCountDto extends GenerationDto {\n clusterCount: number\n}\n\nexport interface UpgradableGenerationsDto {\n preferred: GenerationDto | null\n options: GenerationDto[]\n}\n\nexport function sortGenerationBySemverOfZeebe(\n generationA: { name: string; versions?: { zeebe: string } },\n generationB: { name: string; versions?: { zeebe: string } },\n) {\n // magic sorting algorithm\n // uses the generation version of zeebe for comparison\n // if version invalid: use localeCompare\n\n const versionAvalid: boolean =\n generationA.versions?.zeebe !== undefined &&\n semver.valid(generationA.versions.zeebe.split(':')[1]) !== null\n const versionBvalid: boolean =\n generationB.versions?.zeebe !== undefined &&\n semver.valid(generationB.versions.zeebe.split(':')[1]) !== null\n\n if (versionAvalid && versionBvalid) {\n return semver.compare(\n generationB.versions.zeebe.split(':')[1],\n generationA.versions.zeebe.split(':')[1],\n )\n } else if (versionAvalid) {\n return -1\n } else if (versionBvalid) {\n return 1\n } else {\n return generationB.name.localeCompare(generationA.name)\n }\n}\n"],
5
- "mappings": "AAMA,OAAO,YAAY;AA0BZ,SAAS,8BACd,aACA,aACA;AAKA,QAAM,gBACJ,YAAY,UAAU,UAAU,UAChC,OAAO,MAAM,YAAY,SAAS,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,MAAM;AAC7D,QAAM,gBACJ,YAAY,UAAU,UAAU,UAChC,OAAO,MAAM,YAAY,SAAS,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,MAAM;AAE7D,MAAI,iBAAiB,eAAe;AAClC,WAAO,OAAO;AAAA,MACZ,YAAY,SAAS,MAAM,MAAM,GAAG,EAAE,CAAC;AAAA,MACvC,YAAY,SAAS,MAAM,MAAM,GAAG,EAAE,CAAC;AAAA,IACzC;AAAA,EACF,WAAW,eAAe;AACxB,WAAO;AAAA,EACT,WAAW,eAAe;AACxB,WAAO;AAAA,EACT,OAAO;AACL,WAAO,YAAY,KAAK,cAAc,YAAY,IAAI;AAAA,EACxD;AACF;",
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 semver from 'semver'\nimport type { ZeebeClusterVersionsDto } from '../types/C8ClusterComponentVersions.type.js'\n\nexport interface GenerationDto {\n name: string\n uuid: string\n versions: ZeebeClusterVersionsDto\n upgradeableFrom: GenerationDto[]\n createdBy: string\n createdByName?: string\n created: Date\n updatedBy: string\n updated: Date\n isUnsupportedStarting?: Date\n isBespoke?: boolean\n}\n\nexport interface GenerationWithClusterCountDto extends GenerationDto {\n clusterCount: number\n}\n\nexport interface UpgradableGenerationsDto {\n preferred: GenerationDto | null\n options: GenerationDto[]\n}\n\nexport function sortGenerationBySemverOfZeebe(\n generationA: { name: string; versions?: { zeebe: string } },\n generationB: { name: string; versions?: { zeebe: string } },\n) {\n // magic sorting algorithm\n // uses the generation version of zeebe for comparison\n // if version invalid: use localeCompare\n\n const versionAvalid: boolean =\n generationA.versions?.zeebe !== undefined &&\n semver.valid(generationA.versions.zeebe.split(':')[1]) !== null\n const versionBvalid: boolean =\n generationB.versions?.zeebe !== undefined &&\n semver.valid(generationB.versions.zeebe.split(':')[1]) !== null\n\n if (versionAvalid && versionBvalid) {\n return semver.compare(\n generationB.versions!.zeebe.split(':')[1],\n generationA.versions!.zeebe.split(':')[1],\n )\n } else if (versionAvalid) {\n return -1\n } else if (versionBvalid) {\n return 1\n } else {\n return generationB.name.localeCompare(generationA.name)\n }\n}\n"],
5
+ "mappings": "AAMA,OAAO,YAAY;AA0BZ,SAAS,8BACd,aACA,aACA;AAKA,QAAM,gBACJ,YAAY,UAAU,UAAU,UAChC,OAAO,MAAM,YAAY,SAAS,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,MAAM;AAC7D,QAAM,gBACJ,YAAY,UAAU,UAAU,UAChC,OAAO,MAAM,YAAY,SAAS,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,MAAM;AAE7D,MAAI,iBAAiB,eAAe;AAClC,WAAO,OAAO;AAAA,MACZ,YAAY,SAAU,MAAM,MAAM,GAAG,EAAE,CAAC;AAAA,MACxC,YAAY,SAAU,MAAM,MAAM,GAAG,EAAE,CAAC;AAAA,IAC1C;AAAA,EACF,WAAW,eAAe;AACxB,WAAO;AAAA,EACT,WAAW,eAAe;AACxB,WAAO;AAAA,EACT,OAAO;AACL,WAAO,YAAY,KAAK,cAAc,YAAY,IAAI;AAAA,EACxD;AACF;",
6
6
  "names": []
7
7
  }
@@ -16,4 +16,5 @@ export interface OrganizationToSalesPlanDto {
16
16
  enterpriseStartDate?: Date;
17
17
  enterpriseIncludingValueMetrics?: EnterpriseIncludingValueMetrics;
18
18
  limits?: Limits;
19
+ trialExtensionsUsed?: number;
19
20
  }
@@ -29,6 +29,7 @@ export interface Limits extends ClusterLimits {
29
29
  hotBackup?: boolean;
30
30
  ipWhiteList?: boolean;
31
31
  secureConnectivity?: boolean;
32
+ failover?: boolean;
32
33
  allowedHostnamesForInvites?: string;
33
34
  regionWhiteList?: string;
34
35
  suppressDropDisks?: boolean;
@@ -48,6 +49,11 @@ export interface Limits extends ClusterLimits {
48
49
  * the Stable channel with classification 'orgUnlocked'.
49
50
  */
50
51
  generationWhiteList?: string;
52
+ /**
53
+ * When true, users with only the Developer role cannot create clusters in this org.
54
+ * Users who also hold Member, Admin, Owner, or Operations Engineer are unaffected.
55
+ */
56
+ developerNoClusterCreate?: boolean;
51
57
  }
52
58
  export declare const RETENTION_LIMIT_MINIMUM: {
53
59
  operate: number;
@@ -81,14 +87,14 @@ export declare function allClusterBasedLimits(): {
81
87
  type: 'number' | 'boolean' | 'string';
82
88
  description: string;
83
89
  isClusterBasedLimit: boolean;
84
- validate?: (input: any) => boolean;
90
+ validate?: (input: number) => boolean;
85
91
  }[];
86
92
  export declare function allSalesPlanLimits(): {
87
93
  key: string;
88
94
  type: 'number' | 'boolean' | 'string';
89
95
  description: string;
90
96
  isClusterBasedLimit: boolean;
91
- validate?: (input: any) => boolean;
97
+ validate?: (input: number) => boolean;
92
98
  }[];
93
99
  export declare function unusedClusterBasedLimits(limits: ClusterLimits): {
94
100
  key: string;
@@ -82,6 +82,12 @@ function allSalesPlanLimits() {
82
82
  description: "used to activate the secure connectivity feature in console. default = not active",
83
83
  isClusterBasedLimit: false
84
84
  },
85
+ {
86
+ key: "failover",
87
+ type: "boolean",
88
+ description: "used to activate the failover functionality for multi-region clusters. default = not active",
89
+ isClusterBasedLimit: false
90
+ },
85
91
  {
86
92
  key: "allowedHostnamesForInvites",
87
93
  type: "string",
@@ -131,6 +137,12 @@ function allSalesPlanLimits() {
131
137
  description: "unlocked generation UUIDs - comma separated. These generations will be available for cluster creation regardless of channel membership. Attached to the Stable channel.",
132
138
  isClusterBasedLimit: false
133
139
  },
140
+ {
141
+ key: "developerNoClusterCreate",
142
+ type: "boolean",
143
+ description: "when enabled, users with only the Developer role cannot create clusters in this org. Admins, Owners, Members, and Operations Engineers are unaffected.",
144
+ isClusterBasedLimit: false
145
+ },
134
146
  ...allClusterBasedLimits()
135
147
  ];
136
148
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/dtos/SalesPlan.dto.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 { ClusterPlanTypesToConfig } from '../types/ClusterPlanTypesToConfig.type.js'\n\nexport interface SalesPlanDto {\n uuid?: string\n name: string\n salesPlanType?: string\n internal?: boolean\n clusterPlanTypesToConfig: ClusterPlanTypesToConfig\n metadata?: SalesPlanMetadata\n version: number\n orgs?: number\n}\n\nexport interface ConsumptionDataItem {\n type: string\n data: string\n itemPriceId: string\n}\n\nexport interface SalesPlanMetadata {\n description: string\n limits?: Limits\n}\n\nexport interface ClusterLimits {\n dataRetentionOperate?: number\n dataRetentionTasklist?: number\n dataRetentionOptimize?: number\n unifiedDataRetention?: number\n}\n\nexport interface Limits extends ClusterLimits {\n maxMembers?: number\n hotBackup?: boolean\n ipWhiteList?: boolean\n secureConnectivity?: boolean\n allowedHostnamesForInvites?: string\n regionWhiteList?: string\n suppressDropDisks?: boolean\n maxTeams?: number\n legacyStreams?: boolean\n ignoreGracePeriod?: boolean\n /**\n * Maximum number of clients allowed per cluster.\n * Overrides the stage-based default (MAX_CLUSTER_CLIENTS_DEV on dev,\n * MAX_CLUSTER_CLIENTS_DEFAULT on int/prod).\n */\n maxClusterClients?: number\n /**\n * Comma-separated list of generation UUIDs that are unlocked for this org.\n * These generations will be available for cluster creation even if they\n * are not part of a channel's allowed generations. They are attached to\n * the Stable channel with classification 'orgUnlocked'.\n */\n generationWhiteList?: string\n}\n\nexport const RETENTION_LIMIT_MINIMUM = {\n operate: 5,\n tasklist: 5,\n optimize: 5,\n unified: 5,\n}\nexport const RETENTION_LIMIT_MAXIMUM = {\n operate: 365,\n tasklist: 90,\n optimize: 720,\n unified: 365,\n}\nexport const RETENTION_LIMIT_DEFAULT = {\n operate: 30,\n tasklist: 30,\n optimize: 180,\n unified: 30,\n}\n\n/**\n * Default maximum number of clients per cluster on development stage.\n */\nexport const MAX_CLUSTER_CLIENTS_DEV = 10\n\n/**\n * Default maximum number of clients per cluster on integration and production stages.\n */\nexport const MAX_CLUSTER_CLIENTS_DEFAULT = 200\n\nexport function deprecatedLimit(key: string): string | undefined {\n if (['dataRetentionOperate', 'dataRetentionTasklist'].includes(key)) {\n return 'unifiedDataRetention'\n }\n return undefined\n}\n\nexport function allClusterBasedLimits(): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n validate?: (input) => boolean\n}[] {\n return [\n {\n key: 'dataRetentionOperate',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Operate. default = ${RETENTION_LIMIT_DEFAULT.operate}days. Min = ${RETENTION_LIMIT_MINIMUM.operate}days, Max = ${RETENTION_LIMIT_MAXIMUM.operate}days.`,\n validate: (input) =>\n input >= RETENTION_LIMIT_MINIMUM.operate &&\n input <= RETENTION_LIMIT_MAXIMUM.operate,\n },\n {\n key: 'dataRetentionTasklist',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Tasklist. default = ${RETENTION_LIMIT_DEFAULT.tasklist}days. Min = ${RETENTION_LIMIT_MINIMUM.tasklist}days, Max = ${RETENTION_LIMIT_MAXIMUM.tasklist}days.`,\n validate: (input) =>\n input >= RETENTION_LIMIT_MINIMUM.tasklist &&\n input <= RETENTION_LIMIT_MAXIMUM.tasklist,\n },\n {\n key: 'dataRetentionOptimize',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Optimize. default = ${RETENTION_LIMIT_DEFAULT.optimize}days. Min = ${RETENTION_LIMIT_MINIMUM.optimize}days, Max = ${RETENTION_LIMIT_MAXIMUM.optimize}days.`,\n validate: (input) =>\n input >= RETENTION_LIMIT_MINIMUM.optimize &&\n input <= RETENTION_LIMIT_MAXIMUM.optimize,\n },\n {\n key: 'unifiedDataRetention',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Unified data retention in days for Zeebe broker. default = ${RETENTION_LIMIT_DEFAULT.unified}days. Min = ${RETENTION_LIMIT_MINIMUM.unified}days, Max = ${RETENTION_LIMIT_MAXIMUM.unified}days.`,\n validate: (input) =>\n input >= RETENTION_LIMIT_MINIMUM.unified &&\n input <= RETENTION_LIMIT_MAXIMUM.unified,\n },\n ]\n}\n\nexport function allSalesPlanLimits(): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n validate?: (input) => boolean\n}[] {\n return [\n {\n key: 'maxMembers',\n type: 'number',\n description:\n 'used to limit the amount of collaborators within one organization. default = no limit',\n isClusterBasedLimit: false,\n },\n {\n key: 'hotBackup',\n type: 'boolean',\n description:\n 'used to activate the hot backup functionality in organizations. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'ipWhiteList',\n type: 'boolean',\n description:\n 'used to activate the ipWhitelist feature in console. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'secureConnectivity',\n type: 'boolean',\n description:\n 'used to activate the secure connectivity feature in console. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'allowedHostnamesForInvites',\n type: 'string',\n description:\n 'allowed hostnames for invites - comma separated, default: every hostname is allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'regionWhiteList',\n type: 'string',\n description:\n 'allowed regions - comma separated, default: every region is allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'suppressDropDisks',\n type: 'boolean',\n description:\n 'used to not drop disks of sleeping clusters. default = not suppressed',\n isClusterBasedLimit: false,\n },\n {\n key: 'maxTeams',\n type: 'number',\n description:\n 'used to limit the amount of teams within one super organization. default = 100',\n isClusterBasedLimit: false,\n },\n {\n key: 'legacyStreams',\n type: 'boolean',\n description:\n 'used to allow organizations to use legacy minor streams (e.g. 8.5, 8.6) for cluster creation. default = not allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'ignoreGracePeriod',\n type: 'boolean',\n description:\n 'used to bypass the 24h grace period on cluster upgrades after a minor version bump. default = not active (grace period enforced)',\n isClusterBasedLimit: false,\n },\n {\n key: 'maxClusterClients',\n type: 'number',\n description: `maximum number of clients per cluster. default = ${MAX_CLUSTER_CLIENTS_DEFAULT} (${MAX_CLUSTER_CLIENTS_DEV} on dev). Can be overridden per org for special customers (e.g. OEM).`,\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 1,\n },\n {\n key: 'generationWhiteList',\n type: 'string',\n description:\n 'unlocked generation UUIDs - comma separated. These generations will be available for cluster creation regardless of channel membership. Attached to the Stable channel.',\n isClusterBasedLimit: false,\n },\n ...allClusterBasedLimits(),\n ]\n}\n\nexport function unusedClusterBasedLimits(limits: ClusterLimits): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n}[] {\n return allClusterBasedLimits().filter(\n (current) =>\n !(\n Object.keys(limits).includes(current.key) &&\n limits[current.key] !== null\n ),\n )\n}\n\nexport function unusedSalesPlanLimits(limits: Limits): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n}[] {\n return allSalesPlanLimits().filter(\n (current) =>\n !(\n Object.keys(limits).includes(current.key) &&\n limits[current.key] !== null\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\nimport type { ClusterPlanTypesToConfig } from '../types/ClusterPlanTypesToConfig.type.js'\n\nexport interface SalesPlanDto {\n uuid?: string\n name: string\n salesPlanType?: string\n internal?: boolean\n clusterPlanTypesToConfig: ClusterPlanTypesToConfig\n metadata?: SalesPlanMetadata\n version: number\n orgs?: number\n}\n\nexport interface ConsumptionDataItem {\n type: string\n data: string\n itemPriceId: string\n}\n\nexport interface SalesPlanMetadata {\n description: string\n limits?: Limits\n}\n\nexport interface ClusterLimits {\n dataRetentionOperate?: number\n dataRetentionTasklist?: number\n dataRetentionOptimize?: number\n unifiedDataRetention?: number\n}\n\nexport interface Limits extends ClusterLimits {\n maxMembers?: number\n hotBackup?: boolean\n ipWhiteList?: boolean\n secureConnectivity?: boolean\n failover?: boolean\n allowedHostnamesForInvites?: string\n regionWhiteList?: string\n suppressDropDisks?: boolean\n maxTeams?: number\n legacyStreams?: boolean\n ignoreGracePeriod?: boolean\n /**\n * Maximum number of clients allowed per cluster.\n * Overrides the stage-based default (MAX_CLUSTER_CLIENTS_DEV on dev,\n * MAX_CLUSTER_CLIENTS_DEFAULT on int/prod).\n */\n maxClusterClients?: number\n /**\n * Comma-separated list of generation UUIDs that are unlocked for this org.\n * These generations will be available for cluster creation even if they\n * are not part of a channel's allowed generations. They are attached to\n * the Stable channel with classification 'orgUnlocked'.\n */\n generationWhiteList?: string\n /**\n * When true, users with only the Developer role cannot create clusters in this org.\n * Users who also hold Member, Admin, Owner, or Operations Engineer are unaffected.\n */\n developerNoClusterCreate?: boolean\n}\n\nexport const RETENTION_LIMIT_MINIMUM = {\n operate: 5,\n tasklist: 5,\n optimize: 5,\n unified: 5,\n}\nexport const RETENTION_LIMIT_MAXIMUM = {\n operate: 365,\n tasklist: 90,\n optimize: 720,\n unified: 365,\n}\nexport const RETENTION_LIMIT_DEFAULT = {\n operate: 30,\n tasklist: 30,\n optimize: 180,\n unified: 30,\n}\n\n/**\n * Default maximum number of clients per cluster on development stage.\n */\nexport const MAX_CLUSTER_CLIENTS_DEV = 10\n\n/**\n * Default maximum number of clients per cluster on integration and production stages.\n */\nexport const MAX_CLUSTER_CLIENTS_DEFAULT = 200\n\nexport function deprecatedLimit(key: string): string | undefined {\n if (['dataRetentionOperate', 'dataRetentionTasklist'].includes(key)) {\n return 'unifiedDataRetention'\n }\n return undefined\n}\n\nexport function allClusterBasedLimits(): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n validate?: (input: number) => boolean\n}[] {\n return [\n {\n key: 'dataRetentionOperate',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Operate. default = ${RETENTION_LIMIT_DEFAULT.operate}days. Min = ${RETENTION_LIMIT_MINIMUM.operate}days, Max = ${RETENTION_LIMIT_MAXIMUM.operate}days.`,\n validate: (input) =>\n input >= RETENTION_LIMIT_MINIMUM.operate &&\n input <= RETENTION_LIMIT_MAXIMUM.operate,\n },\n {\n key: 'dataRetentionTasklist',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Tasklist. default = ${RETENTION_LIMIT_DEFAULT.tasklist}days. Min = ${RETENTION_LIMIT_MINIMUM.tasklist}days, Max = ${RETENTION_LIMIT_MAXIMUM.tasklist}days.`,\n validate: (input) =>\n input >= RETENTION_LIMIT_MINIMUM.tasklist &&\n input <= RETENTION_LIMIT_MAXIMUM.tasklist,\n },\n {\n key: 'dataRetentionOptimize',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Data retention in days for Optimize. default = ${RETENTION_LIMIT_DEFAULT.optimize}days. Min = ${RETENTION_LIMIT_MINIMUM.optimize}days, Max = ${RETENTION_LIMIT_MAXIMUM.optimize}days.`,\n validate: (input) =>\n input >= RETENTION_LIMIT_MINIMUM.optimize &&\n input <= RETENTION_LIMIT_MAXIMUM.optimize,\n },\n {\n key: 'unifiedDataRetention',\n type: 'number',\n isClusterBasedLimit: true,\n description: `Unified data retention in days for Zeebe broker. default = ${RETENTION_LIMIT_DEFAULT.unified}days. Min = ${RETENTION_LIMIT_MINIMUM.unified}days, Max = ${RETENTION_LIMIT_MAXIMUM.unified}days.`,\n validate: (input) =>\n input >= RETENTION_LIMIT_MINIMUM.unified &&\n input <= RETENTION_LIMIT_MAXIMUM.unified,\n },\n ]\n}\n\nexport function allSalesPlanLimits(): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n validate?: (input: number) => boolean\n}[] {\n return [\n {\n key: 'maxMembers',\n type: 'number',\n description:\n 'used to limit the amount of collaborators within one organization. default = no limit',\n isClusterBasedLimit: false,\n },\n {\n key: 'hotBackup',\n type: 'boolean',\n description:\n 'used to activate the hot backup functionality in organizations. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'ipWhiteList',\n type: 'boolean',\n description:\n 'used to activate the ipWhitelist feature in console. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'secureConnectivity',\n type: 'boolean',\n description:\n 'used to activate the secure connectivity feature in console. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'failover',\n type: 'boolean',\n description:\n 'used to activate the failover functionality for multi-region clusters. default = not active',\n isClusterBasedLimit: false,\n },\n {\n key: 'allowedHostnamesForInvites',\n type: 'string',\n description:\n 'allowed hostnames for invites - comma separated, default: every hostname is allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'regionWhiteList',\n type: 'string',\n description:\n 'allowed regions - comma separated, default: every region is allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'suppressDropDisks',\n type: 'boolean',\n description:\n 'used to not drop disks of sleeping clusters. default = not suppressed',\n isClusterBasedLimit: false,\n },\n {\n key: 'maxTeams',\n type: 'number',\n description:\n 'used to limit the amount of teams within one super organization. default = 100',\n isClusterBasedLimit: false,\n },\n {\n key: 'legacyStreams',\n type: 'boolean',\n description:\n 'used to allow organizations to use legacy minor streams (e.g. 8.5, 8.6) for cluster creation. default = not allowed',\n isClusterBasedLimit: false,\n },\n {\n key: 'ignoreGracePeriod',\n type: 'boolean',\n description:\n 'used to bypass the 24h grace period on cluster upgrades after a minor version bump. default = not active (grace period enforced)',\n isClusterBasedLimit: false,\n },\n {\n key: 'maxClusterClients',\n type: 'number',\n description: `maximum number of clients per cluster. default = ${MAX_CLUSTER_CLIENTS_DEFAULT} (${MAX_CLUSTER_CLIENTS_DEV} on dev). Can be overridden per org for special customers (e.g. OEM).`,\n isClusterBasedLimit: false,\n validate: (input) => Number.isInteger(input) && input >= 1,\n },\n {\n key: 'generationWhiteList',\n type: 'string',\n description:\n 'unlocked generation UUIDs - comma separated. These generations will be available for cluster creation regardless of channel membership. Attached to the Stable channel.',\n isClusterBasedLimit: false,\n },\n {\n key: 'developerNoClusterCreate',\n type: 'boolean',\n description:\n 'when enabled, users with only the Developer role cannot create clusters in this org. Admins, Owners, Members, and Operations Engineers are unaffected.',\n isClusterBasedLimit: false,\n },\n ...allClusterBasedLimits(),\n ]\n}\n\nexport function unusedClusterBasedLimits(limits: ClusterLimits): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n}[] {\n return allClusterBasedLimits().filter(\n (current) =>\n !(\n Object.keys(limits).includes(current.key) &&\n (limits as Record<string, unknown>)[current.key] !== null\n ),\n )\n}\n\nexport function unusedSalesPlanLimits(limits: Limits): {\n key: string\n type: 'number' | 'boolean' | 'string'\n description: string\n isClusterBasedLimit: boolean\n}[] {\n return allSalesPlanLimits().filter(\n (current) =>\n !(\n Object.keys(limits).includes(current.key) &&\n (limits as Record<string, unknown>)[current.key] !== null\n ),\n )\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,24 @@
1
+ export interface SystemAuditDto {
2
+ service: string;
3
+ timestamp?: number;
4
+ audit: string;
5
+ auditType: 'c' | 'r' | 'u' | 'd';
6
+ entity: string;
7
+ entityId: string;
8
+ userId: string;
9
+ entityAttribute?: string | null;
10
+ entityAttributeValueFrom?: string | null;
11
+ entityAttributeValueTo?: string | null;
12
+ /**
13
+ * Affected org(s) — set only for org-bound entities whose sole relation is the
14
+ * org (e.g. Connection). Comma-separated when more than one. Internal-only
15
+ * traceability; not a customer-queryable filter.
16
+ */
17
+ orgId?: string | null;
18
+ /**
19
+ * Affected cluster(s) — set when the entity has a cluster relation (single, or
20
+ * comma-separated for multi-cluster operations). When present, the org is
21
+ * inferable from the cluster so `orgId` is left undefined.
22
+ */
23
+ clusterId?: string | null;
24
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=SystemAudit.dto.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,69 @@
1
+ export declare enum SystemAuditEntity {
2
+ GENERATION = "Generation",
3
+ CHANNEL = "Channel",
4
+ CLUSTER_PLAN = "Cluster Plan",
5
+ CLUSTER_PLAN_TYPE = "Cluster Plan Type",
6
+ ALPHA_FEATURE = "Alpha Feature",
7
+ SALES_PLAN = "Sales Plan",
8
+ CLUSTER_PLAN_MODIFICATION = "Cluster Plan Modification",
9
+ CLUSTER_BULK_OPERATION = "Cluster Bulk Operation",
10
+ CLUSTER_MODIFICATION = "Cluster Modification",
11
+ CONNECTION = "Connection",
12
+ RELEASE_TRAIN = "Release Train"
13
+ }
14
+ /**
15
+ * Display strings for audited attributes. The `entity` + `entityAttribute` pair
16
+ * is always the key, so duplicate display values across entities (e.g. several
17
+ * `*_NAME = 'Name'`) are intentional and safe. `*_STATUS = 'Status'` is the
18
+ * lifecycle attribute for the modification/operation entities; its from/to carry
19
+ * the raw lifecycle state.
20
+ */
21
+ export declare enum SystemAuditEntityAttribute {
22
+ GENERATION_NAME = "Name",
23
+ GENERATION_VERSIONS = "Versions",
24
+ GENERATION_UPGRADEABLE_FROM = "Upgradeable From",
25
+ GENERATION_SUPPORTED_UNTIL = "Supported Until",
26
+ GENERATION_BESPOKE = "Bespoke",
27
+ CHANNEL_NAME = "Name",
28
+ CHANNEL_DESCRIPTION = "Description",
29
+ CHANNEL_DEFAULT_GENERATION = "Default Generation",
30
+ CHANNEL_ALLOWED_GENERATIONS = "Allowed Generations",
31
+ CHANNEL_IS_DEFAULT = "Is Default",
32
+ CLUSTER_PLAN_MIGRATABLE_FROM = "Migratable From",
33
+ CLUSTER_PLAN_PERFORMANCE_EXPECTATIONS = "Performance Expectations",
34
+ CLUSTER_PLAN_TYPE_NAME = "Name",
35
+ CLUSTER_PLAN_TYPE_DESCRIPTION = "Description",
36
+ CLUSTER_PLAN_TYPE_DEVELOPMENT = "Development",
37
+ CLUSTER_PLAN_TYPE_CATEGORY = "Category",
38
+ CLUSTER_PLAN_TYPE_AVAILABILITY_CLASS = "Availability Class",
39
+ CLUSTER_PLAN_TYPE_ACTIVE_PLAN = "Active Plan",
40
+ CLUSTER_PLAN_TYPE_LIMITS = "Limits",
41
+ ALPHA_FEATURE_NAME = "Name",
42
+ ALPHA_FEATURE_AVAILABLE_IN = "Available In",
43
+ ALPHA_FEATURE_DOCUMENTATION_LINK = "Documentation Link",
44
+ ALPHA_FEATURE_DESCRIPTION = "Description",
45
+ ALPHA_FEATURE_ACTION_LABEL = "Action Label",
46
+ ALPHA_FEATURE_ACTION_URL = "Action Url",
47
+ ALPHA_FEATURE_CLICKWRAP = "Clickwrap",
48
+ ALPHA_FEATURE_SALES_PLAN_TYPE_VISIBILITIES = "Sales Plan Type Visibilities",
49
+ SALES_PLAN_NAME = "Name",
50
+ SALES_PLAN_METADATA = "Metadata",
51
+ SALES_PLAN_CLUSTER_PLAN_CONFIGURATION = "Cluster Plan Configuration",
52
+ SALES_PLAN_VERSION = "Version",
53
+ CLUSTER_PLAN_MODIFICATION_NAME = "Name",
54
+ CLUSTER_PLAN_MODIFICATION_DESCRIPTION = "Description",
55
+ CLUSTER_PLAN_MODIFICATION_CONFIG = "Config",
56
+ CLUSTER_PLAN_MODIFICATION_CLUSTER_PLANS = "Cluster Plans",
57
+ CLUSTER_PLAN_MODIFICATION_URL = "Url",
58
+ CLUSTER_PLAN_MODIFICATION_STATUS = "Status",
59
+ CLUSTER_BULK_OPERATION_CLUSTERS = "Clusters",
60
+ CLUSTER_BULK_OPERATION_STATUS = "Status",
61
+ CLUSTER_MODIFICATION_DESCRIPTION = "Description",
62
+ CLUSTER_MODIFICATION_URL = "Url",
63
+ CLUSTER_MODIFICATION_PLAN_MODIFICATIONS = "Plan Modifications",
64
+ CLUSTER_MODIFICATION_EXPIRES_AT = "Expires At",
65
+ CLUSTER_MODIFICATION_STATUS = "Status",
66
+ CONNECTION_NAME = "Name",
67
+ CONNECTION_STRATEGY = "Strategy",
68
+ CONNECTION_CONFIGURATION = "Configuration"
69
+ }
@@ -0,0 +1,69 @@
1
+ var SystemAuditEntity = /* @__PURE__ */ ((SystemAuditEntity2) => {
2
+ SystemAuditEntity2["GENERATION"] = "Generation";
3
+ SystemAuditEntity2["CHANNEL"] = "Channel";
4
+ SystemAuditEntity2["CLUSTER_PLAN"] = "Cluster Plan";
5
+ SystemAuditEntity2["CLUSTER_PLAN_TYPE"] = "Cluster Plan Type";
6
+ SystemAuditEntity2["ALPHA_FEATURE"] = "Alpha Feature";
7
+ SystemAuditEntity2["SALES_PLAN"] = "Sales Plan";
8
+ SystemAuditEntity2["CLUSTER_PLAN_MODIFICATION"] = "Cluster Plan Modification";
9
+ SystemAuditEntity2["CLUSTER_BULK_OPERATION"] = "Cluster Bulk Operation";
10
+ SystemAuditEntity2["CLUSTER_MODIFICATION"] = "Cluster Modification";
11
+ SystemAuditEntity2["CONNECTION"] = "Connection";
12
+ SystemAuditEntity2["RELEASE_TRAIN"] = "Release Train";
13
+ return SystemAuditEntity2;
14
+ })(SystemAuditEntity || {});
15
+ var SystemAuditEntityAttribute = /* @__PURE__ */ ((SystemAuditEntityAttribute2) => {
16
+ SystemAuditEntityAttribute2["GENERATION_NAME"] = "Name";
17
+ SystemAuditEntityAttribute2["GENERATION_VERSIONS"] = "Versions";
18
+ SystemAuditEntityAttribute2["GENERATION_UPGRADEABLE_FROM"] = "Upgradeable From";
19
+ SystemAuditEntityAttribute2["GENERATION_SUPPORTED_UNTIL"] = "Supported Until";
20
+ SystemAuditEntityAttribute2["GENERATION_BESPOKE"] = "Bespoke";
21
+ SystemAuditEntityAttribute2["CHANNEL_NAME"] = "Name";
22
+ SystemAuditEntityAttribute2["CHANNEL_DESCRIPTION"] = "Description";
23
+ SystemAuditEntityAttribute2["CHANNEL_DEFAULT_GENERATION"] = "Default Generation";
24
+ SystemAuditEntityAttribute2["CHANNEL_ALLOWED_GENERATIONS"] = "Allowed Generations";
25
+ SystemAuditEntityAttribute2["CHANNEL_IS_DEFAULT"] = "Is Default";
26
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_MIGRATABLE_FROM"] = "Migratable From";
27
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_PERFORMANCE_EXPECTATIONS"] = "Performance Expectations";
28
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_TYPE_NAME"] = "Name";
29
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_TYPE_DESCRIPTION"] = "Description";
30
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_TYPE_DEVELOPMENT"] = "Development";
31
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_TYPE_CATEGORY"] = "Category";
32
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_TYPE_AVAILABILITY_CLASS"] = "Availability Class";
33
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_TYPE_ACTIVE_PLAN"] = "Active Plan";
34
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_TYPE_LIMITS"] = "Limits";
35
+ SystemAuditEntityAttribute2["ALPHA_FEATURE_NAME"] = "Name";
36
+ SystemAuditEntityAttribute2["ALPHA_FEATURE_AVAILABLE_IN"] = "Available In";
37
+ SystemAuditEntityAttribute2["ALPHA_FEATURE_DOCUMENTATION_LINK"] = "Documentation Link";
38
+ SystemAuditEntityAttribute2["ALPHA_FEATURE_DESCRIPTION"] = "Description";
39
+ SystemAuditEntityAttribute2["ALPHA_FEATURE_ACTION_LABEL"] = "Action Label";
40
+ SystemAuditEntityAttribute2["ALPHA_FEATURE_ACTION_URL"] = "Action Url";
41
+ SystemAuditEntityAttribute2["ALPHA_FEATURE_CLICKWRAP"] = "Clickwrap";
42
+ SystemAuditEntityAttribute2["ALPHA_FEATURE_SALES_PLAN_TYPE_VISIBILITIES"] = "Sales Plan Type Visibilities";
43
+ SystemAuditEntityAttribute2["SALES_PLAN_NAME"] = "Name";
44
+ SystemAuditEntityAttribute2["SALES_PLAN_METADATA"] = "Metadata";
45
+ SystemAuditEntityAttribute2["SALES_PLAN_CLUSTER_PLAN_CONFIGURATION"] = "Cluster Plan Configuration";
46
+ SystemAuditEntityAttribute2["SALES_PLAN_VERSION"] = "Version";
47
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_MODIFICATION_NAME"] = "Name";
48
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_MODIFICATION_DESCRIPTION"] = "Description";
49
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_MODIFICATION_CONFIG"] = "Config";
50
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_MODIFICATION_CLUSTER_PLANS"] = "Cluster Plans";
51
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_MODIFICATION_URL"] = "Url";
52
+ SystemAuditEntityAttribute2["CLUSTER_PLAN_MODIFICATION_STATUS"] = "Status";
53
+ SystemAuditEntityAttribute2["CLUSTER_BULK_OPERATION_CLUSTERS"] = "Clusters";
54
+ SystemAuditEntityAttribute2["CLUSTER_BULK_OPERATION_STATUS"] = "Status";
55
+ SystemAuditEntityAttribute2["CLUSTER_MODIFICATION_DESCRIPTION"] = "Description";
56
+ SystemAuditEntityAttribute2["CLUSTER_MODIFICATION_URL"] = "Url";
57
+ SystemAuditEntityAttribute2["CLUSTER_MODIFICATION_PLAN_MODIFICATIONS"] = "Plan Modifications";
58
+ SystemAuditEntityAttribute2["CLUSTER_MODIFICATION_EXPIRES_AT"] = "Expires At";
59
+ SystemAuditEntityAttribute2["CLUSTER_MODIFICATION_STATUS"] = "Status";
60
+ SystemAuditEntityAttribute2["CONNECTION_NAME"] = "Name";
61
+ SystemAuditEntityAttribute2["CONNECTION_STRATEGY"] = "Strategy";
62
+ SystemAuditEntityAttribute2["CONNECTION_CONFIGURATION"] = "Configuration";
63
+ return SystemAuditEntityAttribute2;
64
+ })(SystemAuditEntityAttribute || {});
65
+ export {
66
+ SystemAuditEntity,
67
+ SystemAuditEntityAttribute
68
+ };
69
+ //# sourceMappingURL=SystemAuditEntity.enum.js.map