@camunda8/cli 2.6.1 → 2.7.0-alpha.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/README.md +80 -1
- package/dist/command-dispatch.d.ts +16 -0
- package/dist/command-dispatch.d.ts.map +1 -0
- package/dist/command-dispatch.js +129 -0
- package/dist/command-dispatch.js.map +1 -0
- package/dist/command-framework.d.ts +248 -0
- package/dist/command-framework.d.ts.map +1 -0
- package/dist/command-framework.js +229 -0
- package/dist/command-framework.js.map +1 -0
- package/dist/command-registry.d.ts +2089 -0
- package/dist/command-registry.d.ts.map +1 -0
- package/dist/command-registry.js +1482 -0
- package/dist/command-registry.js.map +1 -0
- package/dist/command-validation.d.ts +30 -4
- package/dist/command-validation.d.ts.map +1 -1
- package/dist/command-validation.js +90 -4
- package/dist/command-validation.js.map +1 -1
- package/dist/commands/completion.d.ts +25 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +590 -1223
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/deployments.d.ts +2 -0
- package/dist/commands/deployments.d.ts.map +1 -1
- package/dist/commands/deployments.js +13 -2
- package/dist/commands/deployments.js.map +1 -1
- package/dist/commands/forms.d.ts +2 -20
- package/dist/commands/forms.d.ts.map +1 -1
- package/dist/commands/forms.js +76 -79
- package/dist/commands/forms.js.map +1 -1
- package/dist/commands/help.d.ts +4 -88
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +574 -1941
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/identity-authorizations.d.ts +5 -24
- package/dist/commands/identity-authorizations.d.ts.map +1 -1
- package/dist/commands/identity-authorizations.js +113 -137
- package/dist/commands/identity-authorizations.js.map +1 -1
- package/dist/commands/identity-groups.d.ts +5 -26
- package/dist/commands/identity-groups.d.ts.map +1 -1
- package/dist/commands/identity-groups.js +91 -124
- package/dist/commands/identity-groups.js.map +1 -1
- package/dist/commands/identity-mapping-rules.d.ts +5 -30
- package/dist/commands/identity-mapping-rules.d.ts.map +1 -1
- package/dist/commands/identity-mapping-rules.js +106 -136
- package/dist/commands/identity-mapping-rules.js.map +1 -1
- package/dist/commands/identity-roles.d.ts +5 -26
- package/dist/commands/identity-roles.d.ts.map +1 -1
- package/dist/commands/identity-roles.js +91 -124
- package/dist/commands/identity-roles.js.map +1 -1
- package/dist/commands/identity-tenants.d.ts +5 -26
- package/dist/commands/identity-tenants.d.ts.map +1 -1
- package/dist/commands/identity-tenants.js +92 -126
- package/dist/commands/identity-tenants.js.map +1 -1
- package/dist/commands/identity-users.d.ts +5 -29
- package/dist/commands/identity-users.d.ts.map +1 -1
- package/dist/commands/identity-users.js +95 -129
- package/dist/commands/identity-users.js.map +1 -1
- package/dist/commands/identity.d.ts +6 -6
- package/dist/commands/identity.d.ts.map +1 -1
- package/dist/commands/identity.js +6 -7
- package/dist/commands/identity.js.map +1 -1
- package/dist/commands/incidents.d.ts +3 -16
- package/dist/commands/incidents.d.ts.map +1 -1
- package/dist/commands/incidents.js +71 -98
- package/dist/commands/incidents.js.map +1 -1
- package/dist/commands/jobs.d.ts +4 -26
- package/dist/commands/jobs.d.ts.map +1 -1
- package/dist/commands/jobs.js +143 -159
- package/dist/commands/jobs.js.map +1 -1
- package/dist/commands/mcp-proxy.d.ts +1 -0
- package/dist/commands/mcp-proxy.d.ts.map +1 -1
- package/dist/commands/mcp-proxy.js +10 -2
- package/dist/commands/mcp-proxy.js.map +1 -1
- package/dist/commands/messages.d.ts +2 -12
- package/dist/commands/messages.d.ts.map +1 -1
- package/dist/commands/messages.js +87 -81
- package/dist/commands/messages.js.map +1 -1
- package/dist/commands/open.d.ts +4 -0
- package/dist/commands/open.d.ts.map +1 -1
- package/dist/commands/open.js +18 -0
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/plugins.d.ts +7 -9
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +32 -25
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/process-definitions.d.ts +2 -14
- package/dist/commands/process-definitions.d.ts.map +1 -1
- package/dist/commands/process-definitions.js +57 -80
- package/dist/commands/process-definitions.js.map +1 -1
- package/dist/commands/process-instances.d.ts +8 -37
- package/dist/commands/process-instances.d.ts.map +1 -1
- package/dist/commands/process-instances.js +242 -193
- package/dist/commands/process-instances.js.map +1 -1
- package/dist/commands/profiles.d.ts +4 -0
- package/dist/commands/profiles.d.ts.map +1 -1
- package/dist/commands/profiles.js +29 -0
- package/dist/commands/profiles.js.map +1 -1
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +10 -0
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/search.d.ts +7 -100
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +530 -694
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/session.d.ts +3 -0
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +30 -0
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/topology.d.ts +1 -3
- package/dist/commands/topology.d.ts.map +1 -1
- package/dist/commands/topology.js +11 -18
- package/dist/commands/topology.js.map +1 -1
- package/dist/commands/user-tasks.d.ts +2 -16
- package/dist/commands/user-tasks.d.ts.map +1 -1
- package/dist/commands/user-tasks.js +73 -101
- package/dist/commands/user-tasks.js.map +1 -1
- package/dist/commands/watch.d.ts +1 -0
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +15 -0
- package/dist/commands/watch.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/default-plugins/cluster/README.md +1 -1
- package/dist/default-plugins/cluster/c8ctl-plugin.js +281 -59
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -1023
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +5 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +7 -1
- package/dist/logger.js.map +1 -1
- package/dist/plugin-loader.d.ts +5 -0
- package/dist/plugin-loader.d.ts.map +1 -1
- package/dist/plugin-loader.js +1 -0
- package/dist/plugin-loader.js.map +1 -1
- package/dist/update-check.d.ts +67 -0
- package/dist/update-check.d.ts.map +1 -0
- package/dist/update-check.js +284 -0
- package/dist/update-check.js.map +1 -0
- package/package.json +3 -2
- /package/dist/templates/{tsconfig.json → tsconfig.json.template} +0 -0
|
@@ -1,160 +1,127 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Identity group commands
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { handleCommandError } from "../errors.js";
|
|
4
|
+
import { fetchAllPages } from "../client.js";
|
|
5
|
+
import { defineCommand, dryRun } from "../command-framework.js";
|
|
7
6
|
import { getLogger, sortTableData } from "../logger.js";
|
|
8
|
-
import { c8ctl } from "../runtime.js";
|
|
9
7
|
import { toStringFilter } from "./search.js";
|
|
10
8
|
/**
|
|
11
9
|
* List all groups
|
|
12
10
|
*/
|
|
13
|
-
export
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
if (emitDryRun({
|
|
11
|
+
export const listGroupsCommand = defineCommand("list", "group", async (ctx) => {
|
|
12
|
+
const { client, profile, limit } = ctx;
|
|
13
|
+
const dr = dryRun({
|
|
17
14
|
command: "list groups",
|
|
18
15
|
method: "POST",
|
|
19
16
|
endpoint: "/groups/search",
|
|
20
|
-
profile
|
|
17
|
+
profile,
|
|
21
18
|
body: {},
|
|
22
|
-
})
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
let tableData = items.map((g) => ({
|
|
19
|
+
});
|
|
20
|
+
if (dr)
|
|
21
|
+
return dr;
|
|
22
|
+
const items = await fetchAllPages((filter, opts) => client.searchGroups(filter, opts), {}, undefined, limit);
|
|
23
|
+
return {
|
|
24
|
+
kind: "list",
|
|
25
|
+
items: items.map((g) => ({
|
|
31
26
|
"Group ID": g.groupId ?? "",
|
|
32
27
|
Name: g.name ?? "",
|
|
33
28
|
Description: g.description ?? "",
|
|
34
|
-
}))
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
catch (error) {
|
|
39
|
-
handleCommandError(logger, "Failed to list groups", error);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
29
|
+
})),
|
|
30
|
+
emptyMessage: "No groups found",
|
|
31
|
+
};
|
|
32
|
+
});
|
|
42
33
|
/**
|
|
43
34
|
* Search groups with filters
|
|
44
35
|
*/
|
|
45
|
-
export async
|
|
46
|
-
const logger =
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
let tableData = items.map((g) => ({
|
|
69
|
-
"Group ID": g.groupId ?? "",
|
|
70
|
-
Name: g.name ?? "",
|
|
71
|
-
Description: g.description ?? "",
|
|
72
|
-
}));
|
|
73
|
-
tableData = sortTableData(tableData, options.sortBy, logger, options.sortOrder);
|
|
74
|
-
logger.table(tableData);
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
handleCommandError(logger, "Failed to search groups", error);
|
|
36
|
+
export const searchIdentityGroupsCommand = defineCommand("search", "group", async (ctx, flags, _args) => {
|
|
37
|
+
const { client, logger, profile, limit, sortBy, sortOrder } = ctx;
|
|
38
|
+
const filter = {};
|
|
39
|
+
if (flags.groupId)
|
|
40
|
+
filter.groupId = toStringFilter(String(flags.groupId));
|
|
41
|
+
if (flags.name)
|
|
42
|
+
filter.name = flags.name;
|
|
43
|
+
const searchFilter = Object.keys(filter).length > 0 ? { filter } : {};
|
|
44
|
+
const dr = dryRun({
|
|
45
|
+
command: "search groups",
|
|
46
|
+
method: "POST",
|
|
47
|
+
endpoint: "/groups/search",
|
|
48
|
+
profile,
|
|
49
|
+
body: searchFilter,
|
|
50
|
+
});
|
|
51
|
+
if (dr)
|
|
52
|
+
return dr;
|
|
53
|
+
const items = await fetchAllPages((f, opts) => client.searchGroups(f, opts), searchFilter, undefined, limit);
|
|
54
|
+
if (items.length === 0) {
|
|
55
|
+
logger.info("No groups found");
|
|
56
|
+
return;
|
|
78
57
|
}
|
|
79
|
-
|
|
58
|
+
let tableData = items.map((g) => ({
|
|
59
|
+
"Group ID": g.groupId ?? "",
|
|
60
|
+
Name: g.name ?? "",
|
|
61
|
+
Description: g.description ?? "",
|
|
62
|
+
}));
|
|
63
|
+
tableData = sortTableData(tableData, sortBy, logger, sortOrder);
|
|
64
|
+
logger.table(tableData);
|
|
65
|
+
});
|
|
80
66
|
/**
|
|
81
67
|
* Get a single group by groupId
|
|
82
68
|
*/
|
|
83
|
-
export
|
|
84
|
-
const
|
|
85
|
-
const
|
|
86
|
-
|
|
69
|
+
export const getIdentityGroupCommand = defineCommand("get", "group", async (ctx, _flags, args) => {
|
|
70
|
+
const { client, profile } = ctx;
|
|
71
|
+
const groupId = args.groupId;
|
|
72
|
+
const dr = dryRun({
|
|
87
73
|
command: "get group",
|
|
88
74
|
method: "GET",
|
|
89
75
|
endpoint: `/groups/${groupId}`,
|
|
90
|
-
profile
|
|
91
|
-
})
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
catch (error) {
|
|
98
|
-
handleCommandError(logger, `Failed to get group '${groupId}'`, error);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
76
|
+
profile,
|
|
77
|
+
});
|
|
78
|
+
if (dr)
|
|
79
|
+
return dr;
|
|
80
|
+
const result = await client.getGroup({ groupId }, { consistency: { waitUpToMs: 0 } });
|
|
81
|
+
return { kind: "get", data: result };
|
|
82
|
+
});
|
|
101
83
|
/**
|
|
102
84
|
* Create a new group
|
|
103
85
|
*/
|
|
104
|
-
export async
|
|
105
|
-
const
|
|
106
|
-
if (!
|
|
107
|
-
|
|
86
|
+
export const createIdentityGroupCommand = defineCommand("create", "group", async (ctx, flags, _args) => {
|
|
87
|
+
const { client, profile } = ctx;
|
|
88
|
+
if (!flags.groupId) {
|
|
89
|
+
getLogger().error("--groupId is required");
|
|
108
90
|
process.exit(1);
|
|
109
91
|
}
|
|
110
|
-
if (!
|
|
111
|
-
|
|
92
|
+
if (!flags.name) {
|
|
93
|
+
getLogger().error("--name is required");
|
|
112
94
|
process.exit(1);
|
|
113
95
|
}
|
|
114
|
-
const body = { groupId:
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
try {
|
|
128
|
-
await client.createGroup(body);
|
|
129
|
-
logger.success(`Group '${options.name}' created`);
|
|
130
|
-
}
|
|
131
|
-
catch (error) {
|
|
132
|
-
handleCommandError(logger, "Failed to create group", error);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
96
|
+
const body = { groupId: flags.groupId, name: flags.name };
|
|
97
|
+
const dr = dryRun({
|
|
98
|
+
command: "create group",
|
|
99
|
+
method: "POST",
|
|
100
|
+
endpoint: "/groups",
|
|
101
|
+
profile,
|
|
102
|
+
body,
|
|
103
|
+
});
|
|
104
|
+
if (dr)
|
|
105
|
+
return dr;
|
|
106
|
+
await client.createGroup(body);
|
|
107
|
+
return { kind: "success", message: `Group '${flags.name}' created` };
|
|
108
|
+
});
|
|
135
109
|
/**
|
|
136
110
|
* Delete a group by groupId
|
|
137
111
|
*/
|
|
138
|
-
export
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
await client.deleteGroup({ groupId: groupId });
|
|
154
|
-
logger.success(`Group '${groupId}' deleted`);
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
handleCommandError(logger, `Failed to delete group '${groupId}'`, error);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
112
|
+
export const deleteIdentityGroupCommand = defineCommand("delete", "group", async (ctx, _flags, args) => {
|
|
113
|
+
const { client, profile } = ctx;
|
|
114
|
+
const groupId = args.groupId;
|
|
115
|
+
const dr = dryRun({
|
|
116
|
+
command: "delete group",
|
|
117
|
+
method: "DELETE",
|
|
118
|
+
endpoint: `/groups/${encodeURIComponent(groupId)}`,
|
|
119
|
+
profile,
|
|
120
|
+
body: null,
|
|
121
|
+
});
|
|
122
|
+
if (dr)
|
|
123
|
+
return dr;
|
|
124
|
+
await client.deleteGroup({ groupId });
|
|
125
|
+
return { kind: "success", message: `Group '${groupId}' deleted` };
|
|
126
|
+
});
|
|
160
127
|
//# sourceMappingURL=identity-groups.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-groups.js","sourceRoot":"","sources":["../../src/commands/identity-groups.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"identity-groups.js","sourceRoot":"","sources":["../../src/commands/identity-groups.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Identity mapping rule commands
|
|
3
3
|
*/
|
|
4
|
-
import { type SortOrder } from "../logger.ts";
|
|
5
4
|
/**
|
|
6
5
|
* List all mapping rules
|
|
7
6
|
*/
|
|
8
|
-
export declare
|
|
9
|
-
profile?: string;
|
|
10
|
-
sortBy?: string;
|
|
11
|
-
sortOrder?: SortOrder;
|
|
12
|
-
limit?: number;
|
|
13
|
-
}): Promise<void>;
|
|
7
|
+
export declare const listMappingRulesCommand: import("../command-framework.ts").CommandHandler<"list", "mapping-rule">;
|
|
14
8
|
/**
|
|
15
9
|
* Search mapping rules with filters
|
|
16
10
|
*/
|
|
17
|
-
export declare
|
|
18
|
-
profile?: string;
|
|
19
|
-
mappingRuleId?: string;
|
|
20
|
-
name?: string;
|
|
21
|
-
claimName?: string;
|
|
22
|
-
claimValue?: string;
|
|
23
|
-
sortBy?: string;
|
|
24
|
-
sortOrder?: SortOrder;
|
|
25
|
-
limit?: number;
|
|
26
|
-
}): Promise<void>;
|
|
11
|
+
export declare const searchIdentityMappingRulesCommand: import("../command-framework.ts").CommandHandler<"search", "mapping-rule">;
|
|
27
12
|
/**
|
|
28
13
|
* Get a single mapping rule by mappingRuleId
|
|
29
14
|
*/
|
|
30
|
-
export declare
|
|
31
|
-
profile?: string;
|
|
32
|
-
}): Promise<void>;
|
|
15
|
+
export declare const getIdentityMappingRuleCommand: import("../command-framework.ts").CommandHandler<"get", "mapping-rule">;
|
|
33
16
|
/**
|
|
34
17
|
* Create a new mapping rule
|
|
35
18
|
*/
|
|
36
|
-
export declare
|
|
37
|
-
profile?: string;
|
|
38
|
-
mappingRuleId?: string;
|
|
39
|
-
name?: string;
|
|
40
|
-
claimName?: string;
|
|
41
|
-
claimValue?: string;
|
|
42
|
-
}): Promise<void>;
|
|
19
|
+
export declare const createIdentityMappingRuleCommand: import("../command-framework.ts").CommandHandler<"create", "mapping-rule">;
|
|
43
20
|
/**
|
|
44
21
|
* Delete a mapping rule by mappingRuleId
|
|
45
22
|
*/
|
|
46
|
-
export declare
|
|
47
|
-
profile?: string;
|
|
48
|
-
}): Promise<void>;
|
|
23
|
+
export declare const deleteIdentityMappingRuleCommand: import("../command-framework.ts").CommandHandler<"delete", "mapping-rule">;
|
|
49
24
|
//# sourceMappingURL=identity-mapping-rules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-mapping-rules.d.ts","sourceRoot":"","sources":["../../src/commands/identity-mapping-rules.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"identity-mapping-rules.d.ts","sourceRoot":"","sources":["../../src/commands/identity-mapping-rules.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,eAAO,MAAM,uBAAuB,0EAiCnC,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,iCAAiC,4EA4C7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,yEAqBzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,4EA0C5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,4EAsB5C,CAAC"}
|
|
@@ -1,178 +1,148 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Identity mapping rule commands
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { handleCommandError } from "../errors.js";
|
|
4
|
+
import { fetchAllPages } from "../client.js";
|
|
5
|
+
import { defineCommand, dryRun } from "../command-framework.js";
|
|
7
6
|
import { getLogger, sortTableData } from "../logger.js";
|
|
8
|
-
import { c8ctl } from "../runtime.js";
|
|
9
7
|
/**
|
|
10
8
|
* List all mapping rules
|
|
11
9
|
*/
|
|
12
|
-
export
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
if (emitDryRun({
|
|
10
|
+
export const listMappingRulesCommand = defineCommand("list", "mapping-rule", async (ctx) => {
|
|
11
|
+
const { client, profile, limit } = ctx;
|
|
12
|
+
const dr = dryRun({
|
|
16
13
|
command: "list mapping-rules",
|
|
17
14
|
method: "POST",
|
|
18
15
|
endpoint: "/mapping-rules/search",
|
|
19
|
-
profile
|
|
16
|
+
profile,
|
|
20
17
|
body: {},
|
|
21
|
-
})
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
let tableData = items.map((m) => ({
|
|
18
|
+
});
|
|
19
|
+
if (dr)
|
|
20
|
+
return dr;
|
|
21
|
+
const items = await fetchAllPages((filter, opts) => client.searchMappingRule(filter, opts), {}, undefined, limit);
|
|
22
|
+
return {
|
|
23
|
+
kind: "list",
|
|
24
|
+
items: items.map((m) => ({
|
|
30
25
|
"Mapping Rule ID": m.mappingRuleId ?? "",
|
|
31
26
|
Name: m.name ?? "",
|
|
32
27
|
"Claim Name": m.claimName ?? "",
|
|
33
28
|
"Claim Value": m.claimValue ?? "",
|
|
34
|
-
}))
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
catch (error) {
|
|
39
|
-
handleCommandError(logger, "Failed to list mapping rules", error);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
29
|
+
})),
|
|
30
|
+
emptyMessage: "No mapping rules found",
|
|
31
|
+
};
|
|
32
|
+
});
|
|
42
33
|
/**
|
|
43
34
|
* Search mapping rules with filters
|
|
44
35
|
*/
|
|
45
|
-
export async
|
|
46
|
-
const logger =
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
let tableData = items.map((m) => ({
|
|
73
|
-
"Mapping Rule ID": m.mappingRuleId ?? "",
|
|
74
|
-
Name: m.name ?? "",
|
|
75
|
-
"Claim Name": m.claimName ?? "",
|
|
76
|
-
"Claim Value": m.claimValue ?? "",
|
|
77
|
-
}));
|
|
78
|
-
tableData = sortTableData(tableData, options.sortBy, logger, options.sortOrder);
|
|
79
|
-
logger.table(tableData);
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
handleCommandError(logger, "Failed to search mapping rules", error);
|
|
36
|
+
export const searchIdentityMappingRulesCommand = defineCommand("search", "mapping-rule", async (ctx, flags, _args) => {
|
|
37
|
+
const { client, logger, profile, limit, sortBy, sortOrder } = ctx;
|
|
38
|
+
const filter = {};
|
|
39
|
+
if (flags.mappingRuleId)
|
|
40
|
+
filter.mappingRuleId = flags.mappingRuleId;
|
|
41
|
+
if (flags.name)
|
|
42
|
+
filter.name = flags.name;
|
|
43
|
+
if (flags.claimName)
|
|
44
|
+
filter.claimName = flags.claimName;
|
|
45
|
+
if (flags.claimValue)
|
|
46
|
+
filter.claimValue = flags.claimValue;
|
|
47
|
+
const searchFilter = Object.keys(filter).length > 0 ? { filter } : {};
|
|
48
|
+
const dr = dryRun({
|
|
49
|
+
command: "search mapping-rules",
|
|
50
|
+
method: "POST",
|
|
51
|
+
endpoint: "/mapping-rules/search",
|
|
52
|
+
profile,
|
|
53
|
+
body: searchFilter,
|
|
54
|
+
});
|
|
55
|
+
if (dr)
|
|
56
|
+
return dr;
|
|
57
|
+
const items = await fetchAllPages((f, opts) => client.searchMappingRule(f, opts), searchFilter, undefined, limit);
|
|
58
|
+
if (items.length === 0) {
|
|
59
|
+
logger.info("No mapping rules found");
|
|
60
|
+
return;
|
|
83
61
|
}
|
|
84
|
-
|
|
62
|
+
let tableData = items.map((m) => ({
|
|
63
|
+
"Mapping Rule ID": m.mappingRuleId ?? "",
|
|
64
|
+
Name: m.name ?? "",
|
|
65
|
+
"Claim Name": m.claimName ?? "",
|
|
66
|
+
"Claim Value": m.claimValue ?? "",
|
|
67
|
+
}));
|
|
68
|
+
tableData = sortTableData(tableData, sortBy, logger, sortOrder);
|
|
69
|
+
logger.table(tableData);
|
|
70
|
+
});
|
|
85
71
|
/**
|
|
86
72
|
* Get a single mapping rule by mappingRuleId
|
|
87
73
|
*/
|
|
88
|
-
export
|
|
89
|
-
const
|
|
90
|
-
const
|
|
91
|
-
|
|
74
|
+
export const getIdentityMappingRuleCommand = defineCommand("get", "mapping-rule", async (ctx, _flags, args) => {
|
|
75
|
+
const { client, profile } = ctx;
|
|
76
|
+
const mappingRuleId = args.mappingRuleId;
|
|
77
|
+
const dr = dryRun({
|
|
92
78
|
command: "get mapping-rule",
|
|
93
79
|
method: "GET",
|
|
94
80
|
endpoint: `/mapping-rules/${mappingRuleId}`,
|
|
95
|
-
profile
|
|
96
|
-
})
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
catch (error) {
|
|
103
|
-
handleCommandError(logger, `Failed to get mapping rule '${mappingRuleId}'`, error);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
81
|
+
profile,
|
|
82
|
+
});
|
|
83
|
+
if (dr)
|
|
84
|
+
return dr;
|
|
85
|
+
const result = await client.getMappingRule({ mappingRuleId }, { consistency: { waitUpToMs: 0 } });
|
|
86
|
+
return { kind: "get", data: result };
|
|
87
|
+
});
|
|
106
88
|
/**
|
|
107
89
|
* Create a new mapping rule
|
|
108
90
|
*/
|
|
109
|
-
export async
|
|
110
|
-
const
|
|
111
|
-
if (!
|
|
112
|
-
|
|
91
|
+
export const createIdentityMappingRuleCommand = defineCommand("create", "mapping-rule", async (ctx, flags, _args) => {
|
|
92
|
+
const { client, profile } = ctx;
|
|
93
|
+
if (!flags.mappingRuleId) {
|
|
94
|
+
getLogger().error("--mappingRuleId is required");
|
|
113
95
|
process.exit(1);
|
|
114
96
|
}
|
|
115
|
-
if (!
|
|
116
|
-
|
|
97
|
+
if (!flags.name) {
|
|
98
|
+
getLogger().error("--name is required");
|
|
117
99
|
process.exit(1);
|
|
118
100
|
}
|
|
119
|
-
if (!
|
|
120
|
-
|
|
101
|
+
if (!flags.claimName) {
|
|
102
|
+
getLogger().error("--claimName is required");
|
|
121
103
|
process.exit(1);
|
|
122
104
|
}
|
|
123
|
-
if (!
|
|
124
|
-
|
|
105
|
+
if (!flags.claimValue) {
|
|
106
|
+
getLogger().error("--claimValue is required");
|
|
125
107
|
process.exit(1);
|
|
126
108
|
}
|
|
127
109
|
const body = {
|
|
128
|
-
mappingRuleId:
|
|
129
|
-
name:
|
|
130
|
-
claimName:
|
|
131
|
-
claimValue:
|
|
110
|
+
mappingRuleId: flags.mappingRuleId,
|
|
111
|
+
name: flags.name,
|
|
112
|
+
claimName: flags.claimName,
|
|
113
|
+
claimValue: flags.claimValue,
|
|
132
114
|
};
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
try {
|
|
146
|
-
await client.createMappingRule(body);
|
|
147
|
-
logger.success(`Mapping rule '${options.name}' created`);
|
|
148
|
-
}
|
|
149
|
-
catch (error) {
|
|
150
|
-
handleCommandError(logger, "Failed to create mapping rule", error);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
115
|
+
const dr = dryRun({
|
|
116
|
+
command: "create mapping-rule",
|
|
117
|
+
method: "POST",
|
|
118
|
+
endpoint: "/mapping-rules",
|
|
119
|
+
profile,
|
|
120
|
+
body,
|
|
121
|
+
});
|
|
122
|
+
if (dr)
|
|
123
|
+
return dr;
|
|
124
|
+
await client.createMappingRule(body);
|
|
125
|
+
return { kind: "success", message: `Mapping rule '${flags.name}' created` };
|
|
126
|
+
});
|
|
153
127
|
/**
|
|
154
128
|
* Delete a mapping rule by mappingRuleId
|
|
155
129
|
*/
|
|
156
|
-
export
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
catch (error) {
|
|
175
|
-
handleCommandError(logger, `Failed to delete mapping rule '${mappingRuleId}'`, error);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
130
|
+
export const deleteIdentityMappingRuleCommand = defineCommand("delete", "mapping-rule", async (ctx, _flags, args) => {
|
|
131
|
+
const { client, profile } = ctx;
|
|
132
|
+
const mappingRuleId = args.mappingRuleId;
|
|
133
|
+
const dr = dryRun({
|
|
134
|
+
command: "delete mapping-rule",
|
|
135
|
+
method: "DELETE",
|
|
136
|
+
endpoint: `/mapping-rules/${encodeURIComponent(mappingRuleId)}`,
|
|
137
|
+
profile,
|
|
138
|
+
body: null,
|
|
139
|
+
});
|
|
140
|
+
if (dr)
|
|
141
|
+
return dr;
|
|
142
|
+
await client.deleteMappingRule({ mappingRuleId });
|
|
143
|
+
return {
|
|
144
|
+
kind: "success",
|
|
145
|
+
message: `Mapping rule '${mappingRuleId}' deleted`,
|
|
146
|
+
};
|
|
147
|
+
});
|
|
178
148
|
//# sourceMappingURL=identity-mapping-rules.js.map
|