@camunda/ccma-api 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -2
- package/dist/index.js +2 -0
- package/dist/index.js.map +2 -2
- package/dist/services/accounts/orgs.service.d.ts +13 -0
- package/dist/services/accounts/orgs.service.js +61 -0
- package/dist/services/accounts/orgs.service.js.map +2 -2
- package/dist/services/audit-logger/audit-logger.system.service.d.ts +21 -0
- package/dist/services/audit-logger/audit-logger.system.service.js +74 -0
- package/dist/services/audit-logger/audit-logger.system.service.js.map +7 -0
- package/dist/services/console/console.cluster.service.d.ts +28 -0
- package/dist/services/console/console.cluster.service.js +29 -0
- package/dist/services/console/console.cluster.service.js.map +2 -2
- package/dist/services/console/console.clusterBulkOperation.service.d.ts +4 -0
- package/dist/services/console/console.clusterBulkOperation.service.js +32 -0
- package/dist/services/console/console.clusterBulkOperation.service.js.map +2 -2
- package/dist/services/console/generation.service.d.ts +79 -1
- package/dist/services/console/generation.service.js +112 -0
- package/dist/services/console/generation.service.js.map +2 -2
- package/package.json +2 -2
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { request } from "../../utils/api.js";
|
|
2
|
+
import { HttpError } from "../../utils/errors.js";
|
|
3
|
+
class SystemAuditLoggerService {
|
|
4
|
+
static async addSystemAudit(params) {
|
|
5
|
+
const response = await request({
|
|
6
|
+
config: params.config,
|
|
7
|
+
base: { id: "audit-logger" },
|
|
8
|
+
url: "api/audit/system",
|
|
9
|
+
method: "post",
|
|
10
|
+
metricsDetails: {
|
|
11
|
+
method: {
|
|
12
|
+
name: "SystemAuditLoggerService.addSystemAudit",
|
|
13
|
+
url: "api/audit/system",
|
|
14
|
+
normalizedUrl: "api/audit/system",
|
|
15
|
+
type: "post"
|
|
16
|
+
},
|
|
17
|
+
source: params.config.metrics?.source ?? "unset",
|
|
18
|
+
target: { name: "audit-logger", type: "internal" }
|
|
19
|
+
},
|
|
20
|
+
body: params.params,
|
|
21
|
+
responseType: "none"
|
|
22
|
+
});
|
|
23
|
+
if (!response.ok) {
|
|
24
|
+
throw new HttpError(
|
|
25
|
+
`SystemAuditLoggerService.addSystemAudit: ${response.status} ${response.statusText}`,
|
|
26
|
+
response.status,
|
|
27
|
+
response.statusText
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
return response.status === 200;
|
|
31
|
+
}
|
|
32
|
+
static async getSystemAudit(params) {
|
|
33
|
+
const qs = new URLSearchParams();
|
|
34
|
+
if (params.params.entity) {
|
|
35
|
+
qs.set("entity", params.params.entity);
|
|
36
|
+
if (params.params.entityId) qs.set("entity_id", params.params.entityId);
|
|
37
|
+
}
|
|
38
|
+
if (params.params.pagination) {
|
|
39
|
+
qs.set("per_page", String(params.params.pagination.perPage));
|
|
40
|
+
qs.set("page", String(params.params.pagination.page));
|
|
41
|
+
}
|
|
42
|
+
const qstr = qs.toString();
|
|
43
|
+
const url = qstr ? `api/audit/system?${qstr}` : "api/audit/system";
|
|
44
|
+
const response = await request({
|
|
45
|
+
...params,
|
|
46
|
+
base: { id: "audit-logger" },
|
|
47
|
+
url,
|
|
48
|
+
method: "get",
|
|
49
|
+
metricsDetails: {
|
|
50
|
+
method: {
|
|
51
|
+
name: "SystemAuditLoggerService.getSystemAudit",
|
|
52
|
+
url,
|
|
53
|
+
normalizedUrl: "api/audit/system",
|
|
54
|
+
type: "get"
|
|
55
|
+
},
|
|
56
|
+
source: params.config.metrics?.source ?? "unset",
|
|
57
|
+
target: { name: "audit-logger", type: "internal" }
|
|
58
|
+
},
|
|
59
|
+
responseType: "json"
|
|
60
|
+
});
|
|
61
|
+
if (!response.ok) {
|
|
62
|
+
throw new HttpError(
|
|
63
|
+
`SystemAuditLoggerService.getSystemAudit: ${response.status} ${response.statusText}`,
|
|
64
|
+
response.status,
|
|
65
|
+
response.statusText
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
return response.body ?? [];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export {
|
|
72
|
+
SystemAuditLoggerService
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=audit-logger.system.service.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/services/audit-logger/audit-logger.system.service.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 { SystemAuditDto } from '@camunda/ccma-shared-types'\nimport type { RequestBaseParams } from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\nexport interface AddSystemAuditRequest extends RequestBaseParams {\n params: {\n audit: SystemAuditDto\n }\n}\n\nexport interface GetSystemAuditRequest extends RequestBaseParams {\n params: {\n entity?: string\n entityId?: string\n pagination?: {\n page: number\n perPage: number\n }\n }\n}\n\nexport class SystemAuditLoggerService {\n public static async addSystemAudit(\n params: AddSystemAuditRequest,\n ): Promise<boolean> {\n const response = await request({\n config: params.config,\n base: { id: 'audit-logger' },\n url: 'api/audit/system',\n method: 'post',\n metricsDetails: {\n method: {\n name: 'SystemAuditLoggerService.addSystemAudit',\n url: 'api/audit/system',\n normalizedUrl: 'api/audit/system',\n type: 'post',\n },\n source: params.config.metrics?.source ?? 'unset',\n target: { name: 'audit-logger', type: 'internal' },\n },\n body: params.params,\n responseType: 'none',\n })\n if (!response.ok) {\n throw new HttpError(\n `SystemAuditLoggerService.addSystemAudit: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.status === 200\n }\n\n public static async getSystemAudit(\n params: GetSystemAuditRequest,\n ): Promise<SystemAuditDto[]> {\n const qs = new URLSearchParams()\n if (params.params.entity) {\n qs.set('entity', params.params.entity)\n if (params.params.entityId) qs.set('entity_id', params.params.entityId)\n }\n if (params.params.pagination) {\n qs.set('per_page', String(params.params.pagination.perPage))\n qs.set('page', String(params.params.pagination.page))\n }\n const qstr = qs.toString()\n const url = qstr ? `api/audit/system?${qstr}` : 'api/audit/system'\n const response = await request<SystemAuditDto[]>({\n ...params,\n base: { id: 'audit-logger' },\n url,\n method: 'get',\n metricsDetails: {\n method: {\n name: 'SystemAuditLoggerService.getSystemAudit',\n url,\n normalizedUrl: 'api/audit/system',\n type: 'get',\n },\n source: params.config.metrics?.source ?? 'unset',\n target: { name: 'audit-logger', type: 'internal' },\n },\n responseType: 'json',\n })\n if (!response.ok) {\n throw new HttpError(\n `SystemAuditLoggerService.getSystemAudit: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body ?? []\n }\n}\n"],
|
|
5
|
+
"mappings": "AAQA,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAmBnB,MAAM,yBAAyB;AAAA,EACpC,aAAoB,eAClB,QACkB;AAClB,UAAM,WAAW,MAAM,QAAQ;AAAA,MAC7B,QAAQ,OAAO;AAAA,MACf,MAAM,EAAE,IAAI,eAAe;AAAA,MAC3B,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,gBAAgB;AAAA,QACd,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,KAAK;AAAA,UACL,eAAe;AAAA,UACf,MAAM;AAAA,QACR;AAAA,QACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,QACzC,QAAQ,EAAE,MAAM,gBAAgB,MAAM,WAAW;AAAA,MACnD;AAAA,MACA,MAAM,OAAO;AAAA,MACb,cAAc;AAAA,IAChB,CAAC;AACD,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,4CAA4C,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,QAClF,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AACA,WAAO,SAAS,WAAW;AAAA,EAC7B;AAAA,EAEA,aAAoB,eAClB,QAC2B;AAC3B,UAAM,KAAK,IAAI,gBAAgB;AAC/B,QAAI,OAAO,OAAO,QAAQ;AACxB,SAAG,IAAI,UAAU,OAAO,OAAO,MAAM;AACrC,UAAI,OAAO,OAAO,SAAU,IAAG,IAAI,aAAa,OAAO,OAAO,QAAQ;AAAA,IACxE;AACA,QAAI,OAAO,OAAO,YAAY;AAC5B,SAAG,IAAI,YAAY,OAAO,OAAO,OAAO,WAAW,OAAO,CAAC;AAC3D,SAAG,IAAI,QAAQ,OAAO,OAAO,OAAO,WAAW,IAAI,CAAC;AAAA,IACtD;AACA,UAAM,OAAO,GAAG,SAAS;AACzB,UAAM,MAAM,OAAO,oBAAoB,IAAI,KAAK;AAChD,UAAM,WAAW,MAAM,QAA0B;AAAA,MAC/C,GAAG;AAAA,MACH,MAAM,EAAE,IAAI,eAAe;AAAA,MAC3B;AAAA,MACA,QAAQ;AAAA,MACR,gBAAgB;AAAA,QACd,QAAQ;AAAA,UACN,MAAM;AAAA,UACN;AAAA,UACA,eAAe;AAAA,UACf,MAAM;AAAA,QACR;AAAA,QACA,QAAQ,OAAO,OAAO,SAAS,UAAU;AAAA,QACzC,QAAQ,EAAE,MAAM,gBAAgB,MAAM,WAAW;AAAA,MACnD;AAAA,MACA,cAAc;AAAA,IAChB,CAAC;AACD,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,4CAA4C,SAAS,MAAM,IAAI,SAAS,UAAU;AAAA,QAClF,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AACA,WAAO,SAAS,QAAQ,CAAC;AAAA,EAC3B;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -80,6 +80,12 @@ export interface UpdateClusterRequest extends RequestBaseParams {
|
|
|
80
80
|
auditLogEnabled?: boolean | null;
|
|
81
81
|
auditLogUserCategories?: string[] | null;
|
|
82
82
|
auditLogClientCategories?: string[] | null;
|
|
83
|
+
optimizeFiltering?: {
|
|
84
|
+
includeProcessIds?: string[] | null;
|
|
85
|
+
excludeProcessIds?: string[] | null;
|
|
86
|
+
includeVariableNames?: string[] | null;
|
|
87
|
+
excludeVariableNames?: string[] | null;
|
|
88
|
+
} | null;
|
|
83
89
|
};
|
|
84
90
|
}
|
|
85
91
|
export interface GetConsoleClusterRequest extends RequestBaseParams {
|
|
@@ -96,6 +102,27 @@ export interface MoveClusterOwnerRequest extends RequestBaseParams {
|
|
|
96
102
|
ownerId: string;
|
|
97
103
|
};
|
|
98
104
|
}
|
|
105
|
+
export interface FailoverConsoleClusterRequest extends RequestBaseParams {
|
|
106
|
+
params: {
|
|
107
|
+
orgId: string;
|
|
108
|
+
clusterId: string;
|
|
109
|
+
backupId: string;
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export interface FailoverConsoleClusterResult {
|
|
113
|
+
newClusterId: string;
|
|
114
|
+
results: {
|
|
115
|
+
backupClone: 'ok' | {
|
|
116
|
+
error: string;
|
|
117
|
+
};
|
|
118
|
+
restore: 'ok' | {
|
|
119
|
+
error: string;
|
|
120
|
+
};
|
|
121
|
+
secureConnectivity: 'ok' | 'skipped' | {
|
|
122
|
+
error: string;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
}
|
|
99
126
|
export interface DeleteConsoleClusterRequest extends RequestBaseParams {
|
|
100
127
|
params: {
|
|
101
128
|
orgId: string;
|
|
@@ -121,5 +148,6 @@ export declare class ConsoleClusterService {
|
|
|
121
148
|
*/
|
|
122
149
|
static updateCluster(params: UpdateClusterRequest): Promise<void>;
|
|
123
150
|
static moveClusterOwner(params: MoveClusterOwnerRequest): Promise<void>;
|
|
151
|
+
static failoverCluster(params: FailoverConsoleClusterRequest): Promise<FailoverConsoleClusterResult>;
|
|
124
152
|
static deleteCluster(params: DeleteConsoleClusterRequest): Promise<void>;
|
|
125
153
|
}
|
|
@@ -265,6 +265,35 @@ class ConsoleClusterService {
|
|
|
265
265
|
);
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
|
+
static async failoverCluster(params) {
|
|
269
|
+
const serviceContext = {
|
|
270
|
+
method: {
|
|
271
|
+
name: "ConsoleClusterService.failoverCluster",
|
|
272
|
+
url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/failover`,
|
|
273
|
+
normalizedUrl: "api/orgs/:orgId/clusters/:clusterId/failover",
|
|
274
|
+
type: "post"
|
|
275
|
+
},
|
|
276
|
+
source: params.config.metrics?.source || "unset",
|
|
277
|
+
target: { name: "console", type: "internal" }
|
|
278
|
+
};
|
|
279
|
+
const response = await request({
|
|
280
|
+
...params,
|
|
281
|
+
base: { id: "console" },
|
|
282
|
+
url: serviceContext.method.url,
|
|
283
|
+
method: serviceContext.method.type,
|
|
284
|
+
metricsDetails: serviceContext,
|
|
285
|
+
body: { backupId: params.params.backupId },
|
|
286
|
+
responseType: "json"
|
|
287
|
+
});
|
|
288
|
+
if (!response.ok) {
|
|
289
|
+
throw new HttpError(
|
|
290
|
+
`${serviceContext.method.name}: ${response.status} ${response.statusText}`,
|
|
291
|
+
response.status,
|
|
292
|
+
response.statusText
|
|
293
|
+
);
|
|
294
|
+
}
|
|
295
|
+
return response.body;
|
|
296
|
+
}
|
|
268
297
|
static async deleteCluster(params) {
|
|
269
298
|
const serviceContext = {
|
|
270
299
|
method: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/services/console/console.cluster.service.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 {\n ClusterLabels,\n ConsoleClusterDto,\n} from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\nexport interface GetConsoleClustersRequest extends RequestBaseParams {\n params: {\n orgId: string\n }\n}\n\nexport interface CreateConsoleClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n }\n body: {\n name: string\n planTypeId: string\n channelId: string\n generationId: string\n k8sContextId: string\n autoUpdate?: boolean\n stageLabel?: string\n backupRegionId?: string\n encryption?: string\n numberOfAllocatedHwPackages?: number\n tasklistV2Enabled?: boolean\n identityBackendChecksEnabled?: boolean\n description?: string\n }\n}\n\nexport interface CreateConsoleClusterResponse {\n clusterId: string\n}\n\nexport interface WakeConsoleClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport interface SuspendConsoleClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport interface ProxyOrchestrationClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n region: string\n app: 'tasklist' | 'optimize' | 'operate' | 'zeebe' | 'identity'\n route?: string\n headers: {\n [key: string]: string\n }\n }\n body?: unknown\n method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'\n}\n\nexport interface UpdateClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n body: {\n name?: string\n description?: string\n labels?: ClusterLabels\n primaryEncryptionKeyId?: string\n secondaryEncryptionKeyId?: string\n numberOfAllocatedHwPackages?: number\n mcpEnabled?: boolean\n playMode?: boolean\n swagger?: boolean\n tasklistV2Enabled?: boolean\n optimizeEnabled?: boolean\n autoUpdate?: boolean\n enforceGroups?: boolean\n rba?: boolean\n identityBackendChecksEnabled?: boolean\n multiTenancyEnabled?: boolean\n businessIdUniquenessEnabled?: boolean\n auditLogEnabled?: boolean | null\n auditLogUserCategories?: string[] | null\n auditLogClientCategories?: string[] | null\n }\n}\n\nexport interface GetConsoleClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport interface MoveClusterOwnerRequest extends RequestBaseParams {\n params: {\n clusterId: string\n }\n body: {\n ownerId: string\n }\n}\n\nexport interface DeleteConsoleClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport class ConsoleClusterService {\n public static async getClusters(\n params: GetConsoleClustersRequest,\n ): Promise<ConsoleClusterDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.getClusters',\n url: `api/orgs/${params.params.orgId}/clusters`,\n normalizedUrl: 'api/orgs/:orgId/clusters',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<ConsoleClusterDto[]>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body ?? []\n }\n\n public static async createCluster(\n params: CreateConsoleClusterRequest,\n ): Promise<CreateConsoleClusterResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.createCluster',\n url: `api/orgs/${params.params.orgId}/clusters`,\n normalizedUrl: 'api/orgs/:orgId/clusters',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<CreateConsoleClusterResponse>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n body: params.body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n if (!response.body) {\n throw new Error(`${serviceContext.method.name}: Empty response body`)\n }\n\n return response.body\n }\n\n public static async getCluster(\n params: GetConsoleClusterRequest,\n ): Promise<ConsoleClusterDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.getCluster',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<ConsoleClusterDto>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n if (!response.body) {\n throw new Error(`${serviceContext.method.name}: Empty response body`)\n }\n\n return response.body\n }\n\n public static async suspendCluster(\n params: SuspendConsoleClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.suspendCluster',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/suspend`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId/suspend',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<void>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async wakeCluster(\n params: WakeConsoleClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.wakeCluster',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/wake`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId/wake',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<void>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n /**\n * Proxy request to orchestration cluster application\n * @param params - Request parameters including clusterId, region, app, and optional route\n * @returns Response from the orchestration cluster\n */\n public static async proxyOrchestrationCluster<TResponse = unknown>(\n params: ProxyOrchestrationClusterRequest,\n ): Promise<TResponse> {\n const method = params.method || 'GET'\n const route = params.params.route || ''\n\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterService.proxyOrchestrationCluster`,\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/oc`,\n normalizedUrl: `api/orgs/:orgId/clusters/:clusterId/oc`,\n type: method.toLowerCase() as\n | 'get'\n | 'post'\n | 'put'\n | 'patch'\n | 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n\n // Construct request body with _cluster metadata and body payload\n const requestBody = {\n _cluster: {\n region: params.params.region,\n app: params.params.app,\n route,\n },\n body: params.body,\n }\n\n const response = await request<TResponse>({\n config: params.config,\n base: {\n id: 'console',\n },\n body: requestBody,\n headers: params.params.headers,\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n if (response.body === undefined) {\n throw new Error(`${serviceContext.method.name}: Empty response body`)\n }\n\n return response.body\n }\n\n /**\n * Update cluster properties\n * @param params - Request parameters including orgId, clusterId, and properties to update\n * @returns void\n */\n public static async updateCluster(\n params: UpdateClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.updateCluster',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId',\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n body: params.body,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async moveClusterOwner(\n params: MoveClusterOwnerRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.moveClusterOwner',\n url: `api/admin/clusters/${params.params.clusterId}/owner`,\n normalizedUrl: 'api/admin/clusters/:clusterId/owner',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<void>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n body: params.body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async deleteCluster(\n params: DeleteConsoleClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.deleteCluster',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<void>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "AAcA,SAAS,eAAe;AACxB,SAAS,iBAAiB;
|
|
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 {\n ClusterLabels,\n ConsoleClusterDto,\n} from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\nexport interface GetConsoleClustersRequest extends RequestBaseParams {\n params: {\n orgId: string\n }\n}\n\nexport interface CreateConsoleClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n }\n body: {\n name: string\n planTypeId: string\n channelId: string\n generationId: string\n k8sContextId: string\n autoUpdate?: boolean\n stageLabel?: string\n backupRegionId?: string\n encryption?: string\n numberOfAllocatedHwPackages?: number\n tasklistV2Enabled?: boolean\n identityBackendChecksEnabled?: boolean\n description?: string\n }\n}\n\nexport interface CreateConsoleClusterResponse {\n clusterId: string\n}\n\nexport interface WakeConsoleClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport interface SuspendConsoleClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport interface ProxyOrchestrationClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n region: string\n app: 'tasklist' | 'optimize' | 'operate' | 'zeebe' | 'identity'\n route?: string\n headers: {\n [key: string]: string\n }\n }\n body?: unknown\n method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'\n}\n\nexport interface UpdateClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n body: {\n name?: string\n description?: string\n labels?: ClusterLabels\n primaryEncryptionKeyId?: string\n secondaryEncryptionKeyId?: string\n numberOfAllocatedHwPackages?: number\n mcpEnabled?: boolean\n playMode?: boolean\n swagger?: boolean\n tasklistV2Enabled?: boolean\n optimizeEnabled?: boolean\n autoUpdate?: boolean\n enforceGroups?: boolean\n rba?: boolean\n identityBackendChecksEnabled?: boolean\n multiTenancyEnabled?: boolean\n businessIdUniquenessEnabled?: boolean\n auditLogEnabled?: boolean | null\n auditLogUserCategories?: string[] | null\n auditLogClientCategories?: string[] | null\n optimizeFiltering?: {\n includeProcessIds?: string[] | null\n excludeProcessIds?: string[] | null\n includeVariableNames?: string[] | null\n excludeVariableNames?: string[] | null\n } | null\n }\n}\n\nexport interface GetConsoleClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport interface MoveClusterOwnerRequest extends RequestBaseParams {\n params: {\n clusterId: string\n }\n body: {\n ownerId: string\n }\n}\n\nexport interface FailoverConsoleClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n backupId: string\n }\n}\n\nexport interface FailoverConsoleClusterResult {\n newClusterId: string\n results: {\n backupClone: 'ok' | { error: string }\n restore: 'ok' | { error: string }\n secureConnectivity: 'ok' | 'skipped' | { error: string }\n }\n}\n\nexport interface DeleteConsoleClusterRequest extends RequestBaseParams {\n params: {\n orgId: string\n clusterId: string\n }\n}\n\nexport class ConsoleClusterService {\n public static async getClusters(\n params: GetConsoleClustersRequest,\n ): Promise<ConsoleClusterDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.getClusters',\n url: `api/orgs/${params.params.orgId}/clusters`,\n normalizedUrl: 'api/orgs/:orgId/clusters',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<ConsoleClusterDto[]>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body ?? []\n }\n\n public static async createCluster(\n params: CreateConsoleClusterRequest,\n ): Promise<CreateConsoleClusterResponse> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.createCluster',\n url: `api/orgs/${params.params.orgId}/clusters`,\n normalizedUrl: 'api/orgs/:orgId/clusters',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<CreateConsoleClusterResponse>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n body: params.body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n if (!response.body) {\n throw new Error(`${serviceContext.method.name}: Empty response body`)\n }\n\n return response.body\n }\n\n public static async getCluster(\n params: GetConsoleClusterRequest,\n ): Promise<ConsoleClusterDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.getCluster',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId',\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<ConsoleClusterDto>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n if (!response.body) {\n throw new Error(`${serviceContext.method.name}: Empty response body`)\n }\n\n return response.body\n }\n\n public static async suspendCluster(\n params: SuspendConsoleClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.suspendCluster',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/suspend`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId/suspend',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<void>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async wakeCluster(\n params: WakeConsoleClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.wakeCluster',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/wake`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId/wake',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<void>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n /**\n * Proxy request to orchestration cluster application\n * @param params - Request parameters including clusterId, region, app, and optional route\n * @returns Response from the orchestration cluster\n */\n public static async proxyOrchestrationCluster<TResponse = unknown>(\n params: ProxyOrchestrationClusterRequest,\n ): Promise<TResponse> {\n const method = params.method || 'GET'\n const route = params.params.route || ''\n\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterService.proxyOrchestrationCluster`,\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/oc`,\n normalizedUrl: `api/orgs/:orgId/clusters/:clusterId/oc`,\n type: method.toLowerCase() as\n | 'get'\n | 'post'\n | 'put'\n | 'patch'\n | 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n\n // Construct request body with _cluster metadata and body payload\n const requestBody = {\n _cluster: {\n region: params.params.region,\n app: params.params.app,\n route,\n },\n body: params.body,\n }\n\n const response = await request<TResponse>({\n config: params.config,\n base: {\n id: 'console',\n },\n body: requestBody,\n headers: params.params.headers,\n responseType: 'json',\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n if (response.body === undefined) {\n throw new Error(`${serviceContext.method.name}: Empty response body`)\n }\n\n return response.body\n }\n\n /**\n * Update cluster properties\n * @param params - Request parameters including orgId, clusterId, and properties to update\n * @returns void\n */\n public static async updateCluster(\n params: UpdateClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.updateCluster',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId',\n type: 'patch',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n body: params.body,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async moveClusterOwner(\n params: MoveClusterOwnerRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.moveClusterOwner',\n url: `api/admin/clusters/${params.params.clusterId}/owner`,\n normalizedUrl: 'api/admin/clusters/:clusterId/owner',\n type: 'put',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<void>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n body: params.body,\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n\n public static async failoverCluster(\n params: FailoverConsoleClusterRequest,\n ): Promise<FailoverConsoleClusterResult> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.failoverCluster',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}/failover`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId/failover',\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<FailoverConsoleClusterResult>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n body: { backupId: params.params.backupId },\n responseType: 'json',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n\n return response.body!\n }\n\n public static async deleteCluster(\n params: DeleteConsoleClusterRequest,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: 'ConsoleClusterService.deleteCluster',\n url: `api/orgs/${params.params.orgId}/clusters/${params.params.clusterId}`,\n normalizedUrl: 'api/orgs/:orgId/clusters/:clusterId',\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: { name: 'console', type: 'internal' },\n }\n\n const response = await request<void>({\n ...params,\n base: { id: 'console' },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n responseType: 'none',\n })\n\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -14,6 +14,10 @@ export declare class ConsoleClusterBulkOperationService {
|
|
|
14
14
|
static execute(params: {
|
|
15
15
|
uuid: string;
|
|
16
16
|
} & RequestBaseParams): Promise<void>;
|
|
17
|
+
static removeCluster(params: {
|
|
18
|
+
uuid: string;
|
|
19
|
+
clusterUuid: string;
|
|
20
|
+
} & RequestBaseParams): Promise<ClusterBulkOperationDto>;
|
|
17
21
|
static delete(params: {
|
|
18
22
|
uuid: string;
|
|
19
23
|
} & RequestBaseParams): Promise<void>;
|
|
@@ -161,6 +161,38 @@ class ConsoleClusterBulkOperationService {
|
|
|
161
161
|
);
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
+
static async removeCluster(params) {
|
|
165
|
+
const serviceContext = {
|
|
166
|
+
method: {
|
|
167
|
+
name: `ConsoleClusterBulkOperationService.removeCluster`,
|
|
168
|
+
url: `api/admin/clusters/bulkoperation/${params.uuid}/clusters/${params.clusterUuid}`,
|
|
169
|
+
normalizedUrl: `api/admin/clusters/bulkoperation/:uuid/clusters/:clusterUuid`,
|
|
170
|
+
type: "delete"
|
|
171
|
+
},
|
|
172
|
+
source: params.config.metrics?.source || "unset",
|
|
173
|
+
target: {
|
|
174
|
+
name: "console",
|
|
175
|
+
type: "internal"
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
const response = await request({
|
|
179
|
+
config: params.config,
|
|
180
|
+
base: {
|
|
181
|
+
id: "console"
|
|
182
|
+
},
|
|
183
|
+
url: serviceContext.method.url,
|
|
184
|
+
method: serviceContext.method.type,
|
|
185
|
+
metricsDetails: serviceContext
|
|
186
|
+
});
|
|
187
|
+
if (!response.ok) {
|
|
188
|
+
throw new HttpError(
|
|
189
|
+
`${serviceContext.method.name}: ${response.status} ${response.statusText}`,
|
|
190
|
+
response.status,
|
|
191
|
+
response.statusText
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
return response.body;
|
|
195
|
+
}
|
|
164
196
|
static async delete(params) {
|
|
165
197
|
const serviceContext = {
|
|
166
198
|
method: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/services/console/console.clusterBulkOperation.service.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 {\n ClusterBulkOperationDto,\n ClusterBulkOperationPostContent,\n} from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\nexport class ConsoleClusterBulkOperationService {\n public static async get(\n params: { uuid: string } & RequestBaseParams,\n ): Promise<ClusterBulkOperationDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.get`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/admin/clusters/bulkoperation/:uuid`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterBulkOperationDto>({\n ...params,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n public static async getAll(\n params: RequestBaseParams,\n ): Promise<ClusterBulkOperationDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.getAll`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/admin/clusters/bulkoperation`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterBulkOperationDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n public static async create(\n params: { body: ClusterBulkOperationPostContent } & RequestBaseParams,\n ): Promise<ClusterBulkOperationDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.create`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/admin/clusters/bulkoperation`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n body: params.body,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n public static async ack(\n params: { uuid: string } & RequestBaseParams,\n ): Promise<ClusterBulkOperationDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.ack`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/ack`,\n normalizedUrl: `api/admin/clusters/bulkoperation/:uuid/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n public static async execute(\n params: { uuid: string } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.ack`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/execute`,\n normalizedUrl: `api/admin/clusters/bulkoperation/:uuid/execute`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n public static async delete(\n params: { uuid: string } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.delete`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/admin/clusters/bulkoperation/:uuid`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH\n * under one or more contributor license agreements. Licensed under a commercial license.\n * You may not use this file except in compliance with the commercial license.\n */\n\nimport type {\n ClusterBulkOperationDto,\n ClusterBulkOperationPostContent,\n} from '@camunda/ccma-shared-types'\nimport type {\n RequestBaseParams,\n RequestBaseServiceContext,\n} from '../../types/general.types.js'\nimport { request } from '../../utils/api.js'\nimport { HttpError } from '../../utils/errors.js'\n\nexport class ConsoleClusterBulkOperationService {\n public static async get(\n params: { uuid: string } & RequestBaseParams,\n ): Promise<ClusterBulkOperationDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.get`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/admin/clusters/bulkoperation/:uuid`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterBulkOperationDto>({\n ...params,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n public static async getAll(\n params: RequestBaseParams,\n ): Promise<ClusterBulkOperationDto[]> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.getAll`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/admin/clusters/bulkoperation`,\n type: 'get',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterBulkOperationDto[]>({\n ...params,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n public static async create(\n params: { body: ClusterBulkOperationPostContent } & RequestBaseParams,\n ): Promise<ClusterBulkOperationDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.create`,\n url: `api/admin/clusters/bulkoperation`,\n normalizedUrl: `api/admin/clusters/bulkoperation`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n body: params.body,\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n public static async ack(\n params: { uuid: string } & RequestBaseParams,\n ): Promise<ClusterBulkOperationDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.ack`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/ack`,\n normalizedUrl: `api/admin/clusters/bulkoperation/:uuid/ack`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n public static async execute(\n params: { uuid: string } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.ack`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/execute`,\n normalizedUrl: `api/admin/clusters/bulkoperation/:uuid/execute`,\n type: 'post',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n public static async removeCluster(\n params: { uuid: string; clusterUuid: string } & RequestBaseParams,\n ): Promise<ClusterBulkOperationDto> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.removeCluster`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}/clusters/${params.clusterUuid}`,\n normalizedUrl: `api/admin/clusters/bulkoperation/:uuid/clusters/:clusterUuid`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<ClusterBulkOperationDto>({\n config: params.config,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n return response.body!\n }\n public static async delete(\n params: { uuid: string } & RequestBaseParams,\n ): Promise<void> {\n const serviceContext: RequestBaseServiceContext = {\n method: {\n name: `ConsoleClusterBulkOperationService.delete`,\n url: `api/admin/clusters/bulkoperation/${params.uuid}`,\n normalizedUrl: `api/admin/clusters/bulkoperation/:uuid`,\n type: 'delete',\n },\n source: params.config.metrics?.source || 'unset',\n target: {\n name: 'console',\n type: 'internal',\n },\n }\n const response = await request<void>({\n config: params.config,\n base: {\n id: 'console',\n },\n url: serviceContext.method.url,\n method: serviceContext.method.type,\n metricsDetails: serviceContext,\n })\n if (!response.ok) {\n throw new HttpError(\n `${serviceContext.method.name}: ${response.status} ${response.statusText}`,\n response.status,\n response.statusText,\n )\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GenerationDto, UpgradableGenerationsDto } from '@camunda/ccma-shared-types';
|
|
1
|
+
import type { GenerationDto, UpgradableGenerationsDto, ZeebeClusterVersionsDto } from '@camunda/ccma-shared-types';
|
|
2
2
|
import type { RequestBaseParams } from '../../types/general.types.js';
|
|
3
3
|
export declare class GenerationService {
|
|
4
4
|
static getGeneration(params: {
|
|
@@ -53,4 +53,82 @@ export declare class GenerationService {
|
|
|
53
53
|
uuid: string;
|
|
54
54
|
}>;
|
|
55
55
|
} | undefined>;
|
|
56
|
+
static publishReleaseTrain(params: {
|
|
57
|
+
previousGenerationId: string;
|
|
58
|
+
name: string;
|
|
59
|
+
releaseType: 'patch' | 'alpha' | 'minor';
|
|
60
|
+
versions?: Partial<ZeebeClusterVersionsDto>;
|
|
61
|
+
isUnsupportedStarting?: string;
|
|
62
|
+
} & RequestBaseParams): Promise<{
|
|
63
|
+
generationId: string;
|
|
64
|
+
changes: {
|
|
65
|
+
newGeneration: {
|
|
66
|
+
uuid: string;
|
|
67
|
+
name: string;
|
|
68
|
+
};
|
|
69
|
+
previousGenerationCleared?: {
|
|
70
|
+
uuid: string;
|
|
71
|
+
name: string;
|
|
72
|
+
};
|
|
73
|
+
nextMinorGenerationUpdated?: {
|
|
74
|
+
uuid: string;
|
|
75
|
+
name: string;
|
|
76
|
+
};
|
|
77
|
+
channelsUpdated: Array<{
|
|
78
|
+
channelName: string;
|
|
79
|
+
generationAdded: {
|
|
80
|
+
uuid: string;
|
|
81
|
+
name: string;
|
|
82
|
+
};
|
|
83
|
+
generationRemoved?: {
|
|
84
|
+
uuid: string;
|
|
85
|
+
name: string;
|
|
86
|
+
};
|
|
87
|
+
newDefault: {
|
|
88
|
+
uuid: string;
|
|
89
|
+
name: string;
|
|
90
|
+
};
|
|
91
|
+
}>;
|
|
92
|
+
};
|
|
93
|
+
} | undefined>;
|
|
94
|
+
static rollbackReleaseTrain(params: {
|
|
95
|
+
generationId: string;
|
|
96
|
+
releaseType: 'patch' | 'alpha' | 'minor';
|
|
97
|
+
replacementGenerationId?: string;
|
|
98
|
+
stableReplacementGenerationId?: string;
|
|
99
|
+
alphaReplacementGenerationId?: string;
|
|
100
|
+
} & RequestBaseParams): Promise<{
|
|
101
|
+
rolledBackGenerationId: string;
|
|
102
|
+
changes: {
|
|
103
|
+
channelsUpdated: Array<{
|
|
104
|
+
channelName: string;
|
|
105
|
+
generationAdded: {
|
|
106
|
+
uuid: string;
|
|
107
|
+
name: string;
|
|
108
|
+
};
|
|
109
|
+
generationRemoved?: {
|
|
110
|
+
uuid: string;
|
|
111
|
+
name: string;
|
|
112
|
+
};
|
|
113
|
+
newDefault: {
|
|
114
|
+
uuid: string;
|
|
115
|
+
name: string;
|
|
116
|
+
};
|
|
117
|
+
}>;
|
|
118
|
+
previousGenerationRestored?: {
|
|
119
|
+
uuid: string;
|
|
120
|
+
name: string;
|
|
121
|
+
};
|
|
122
|
+
nextMinorGenerationRestored?: {
|
|
123
|
+
uuid: string;
|
|
124
|
+
name: string;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
} | undefined>;
|
|
128
|
+
static triggerAutoUpgrade(params: {
|
|
129
|
+
generationId: string;
|
|
130
|
+
} & RequestBaseParams): Promise<{
|
|
131
|
+
bulkOperationUuid: string;
|
|
132
|
+
clusterCount: number;
|
|
133
|
+
} | undefined>;
|
|
56
134
|
}
|
|
@@ -262,6 +262,118 @@ class GenerationService {
|
|
|
262
262
|
}
|
|
263
263
|
return response.body;
|
|
264
264
|
}
|
|
265
|
+
static async publishReleaseTrain(params) {
|
|
266
|
+
const {
|
|
267
|
+
previousGenerationId,
|
|
268
|
+
name,
|
|
269
|
+
releaseType,
|
|
270
|
+
versions,
|
|
271
|
+
isUnsupportedStarting
|
|
272
|
+
} = params;
|
|
273
|
+
const serviceContext = {
|
|
274
|
+
method: {
|
|
275
|
+
name: "GenerationService.publishReleaseTrain",
|
|
276
|
+
url: "external/release-train/generation",
|
|
277
|
+
normalizedUrl: "external/release-train/generation",
|
|
278
|
+
type: "post"
|
|
279
|
+
},
|
|
280
|
+
source: params.config.metrics?.source || "unset",
|
|
281
|
+
target: { name: "console", type: "internal" }
|
|
282
|
+
};
|
|
283
|
+
const response = await request({
|
|
284
|
+
config: params.config,
|
|
285
|
+
base: { id: "console" },
|
|
286
|
+
body: {
|
|
287
|
+
previousGenerationId,
|
|
288
|
+
name,
|
|
289
|
+
releaseType,
|
|
290
|
+
versions,
|
|
291
|
+
isUnsupportedStarting
|
|
292
|
+
},
|
|
293
|
+
responseType: "json",
|
|
294
|
+
url: serviceContext.method.url,
|
|
295
|
+
method: serviceContext.method.type,
|
|
296
|
+
metricsDetails: serviceContext
|
|
297
|
+
});
|
|
298
|
+
if (!response.ok) {
|
|
299
|
+
throw new HttpError(
|
|
300
|
+
`${serviceContext.method.name}: ${response.status} ${response.statusText}`,
|
|
301
|
+
response.status,
|
|
302
|
+
response.statusText
|
|
303
|
+
);
|
|
304
|
+
}
|
|
305
|
+
return response.body;
|
|
306
|
+
}
|
|
307
|
+
static async rollbackReleaseTrain(params) {
|
|
308
|
+
const {
|
|
309
|
+
generationId,
|
|
310
|
+
releaseType,
|
|
311
|
+
replacementGenerationId,
|
|
312
|
+
stableReplacementGenerationId,
|
|
313
|
+
alphaReplacementGenerationId
|
|
314
|
+
} = params;
|
|
315
|
+
const serviceContext = {
|
|
316
|
+
method: {
|
|
317
|
+
name: "GenerationService.rollbackReleaseTrain",
|
|
318
|
+
url: "external/release-train/rollback",
|
|
319
|
+
normalizedUrl: "external/release-train/rollback",
|
|
320
|
+
type: "post"
|
|
321
|
+
},
|
|
322
|
+
source: params.config.metrics?.source || "unset",
|
|
323
|
+
target: { name: "console", type: "internal" }
|
|
324
|
+
};
|
|
325
|
+
const response = await request({
|
|
326
|
+
config: params.config,
|
|
327
|
+
base: { id: "console" },
|
|
328
|
+
body: {
|
|
329
|
+
generationId,
|
|
330
|
+
releaseType,
|
|
331
|
+
replacementGenerationId,
|
|
332
|
+
stableReplacementGenerationId,
|
|
333
|
+
alphaReplacementGenerationId
|
|
334
|
+
},
|
|
335
|
+
responseType: "json",
|
|
336
|
+
url: serviceContext.method.url,
|
|
337
|
+
method: serviceContext.method.type,
|
|
338
|
+
metricsDetails: serviceContext
|
|
339
|
+
});
|
|
340
|
+
if (!response.ok) {
|
|
341
|
+
throw new HttpError(
|
|
342
|
+
`${serviceContext.method.name}: ${response.status} ${response.statusText}`,
|
|
343
|
+
response.status,
|
|
344
|
+
response.statusText
|
|
345
|
+
);
|
|
346
|
+
}
|
|
347
|
+
return response.body;
|
|
348
|
+
}
|
|
349
|
+
static async triggerAutoUpgrade(params) {
|
|
350
|
+
const serviceContext = {
|
|
351
|
+
method: {
|
|
352
|
+
name: "GenerationService.triggerAutoUpgrade",
|
|
353
|
+
url: `external/release-train/generation/${params.generationId}/auto-upgrade`,
|
|
354
|
+
normalizedUrl: "external/release-train/generation/:generationId/auto-upgrade",
|
|
355
|
+
type: "post"
|
|
356
|
+
},
|
|
357
|
+
source: params.config.metrics?.source || "unset",
|
|
358
|
+
target: { name: "console", type: "internal" }
|
|
359
|
+
};
|
|
360
|
+
const response = await request({
|
|
361
|
+
config: params.config,
|
|
362
|
+
base: { id: "console" },
|
|
363
|
+
responseType: "json",
|
|
364
|
+
url: serviceContext.method.url,
|
|
365
|
+
method: serviceContext.method.type,
|
|
366
|
+
metricsDetails: serviceContext
|
|
367
|
+
});
|
|
368
|
+
if (!response.ok) {
|
|
369
|
+
throw new HttpError(
|
|
370
|
+
`${serviceContext.method.name}: ${response.status} ${response.statusText}`,
|
|
371
|
+
response.status,
|
|
372
|
+
response.statusText
|
|
373
|
+
);
|
|
374
|
+
}
|
|
375
|
+
return response.body;
|
|
376
|
+
}
|
|
265
377
|
}
|
|
266
378
|
export {
|
|
267
379
|
GenerationService
|