@zincapp/znvault-cli 4.0.0 → 4.0.3
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/commands/advisor.js +7 -4
- package/dist/commands/advisor.js.map +1 -1
- package/dist/commands/apikey/conditions.d.ts.map +1 -1
- package/dist/commands/apikey/conditions.js +4 -3
- package/dist/commands/apikey/conditions.js.map +1 -1
- package/dist/commands/apikey/create.d.ts.map +1 -1
- package/dist/commands/apikey/create.js +4 -2
- package/dist/commands/apikey/create.js.map +1 -1
- package/dist/commands/apikey/delete.d.ts.map +1 -1
- package/dist/commands/apikey/delete.js +4 -2
- package/dist/commands/apikey/delete.js.map +1 -1
- package/dist/commands/apikey/enable-disable.d.ts.map +1 -1
- package/dist/commands/apikey/enable-disable.js +7 -4
- package/dist/commands/apikey/enable-disable.js.map +1 -1
- package/dist/commands/apikey/helpers.d.ts +16 -0
- package/dist/commands/apikey/helpers.d.ts.map +1 -1
- package/dist/commands/apikey/helpers.js +9 -0
- package/dist/commands/apikey/helpers.js.map +1 -1
- package/dist/commands/apikey/list.d.ts.map +1 -1
- package/dist/commands/apikey/list.js +4 -3
- package/dist/commands/apikey/list.js.map +1 -1
- package/dist/commands/apikey/managed/bind.d.ts.map +1 -1
- package/dist/commands/apikey/managed/bind.js +4 -3
- package/dist/commands/apikey/managed/bind.js.map +1 -1
- package/dist/commands/apikey/managed/conditions.d.ts.map +1 -1
- package/dist/commands/apikey/managed/conditions.js +5 -4
- package/dist/commands/apikey/managed/conditions.js.map +1 -1
- package/dist/commands/apikey/managed/config.d.ts.map +1 -1
- package/dist/commands/apikey/managed/config.js +4 -3
- package/dist/commands/apikey/managed/config.js.map +1 -1
- package/dist/commands/apikey/managed/create.d.ts.map +1 -1
- package/dist/commands/apikey/managed/create.js +4 -1
- package/dist/commands/apikey/managed/create.js.map +1 -1
- package/dist/commands/apikey/managed/delete.d.ts.map +1 -1
- package/dist/commands/apikey/managed/delete.js +4 -2
- package/dist/commands/apikey/managed/delete.js.map +1 -1
- package/dist/commands/apikey/managed/get.d.ts.map +1 -1
- package/dist/commands/apikey/managed/get.js +4 -2
- package/dist/commands/apikey/managed/get.js.map +1 -1
- package/dist/commands/apikey/managed/list.d.ts.map +1 -1
- package/dist/commands/apikey/managed/list.js +4 -2
- package/dist/commands/apikey/managed/list.js.map +1 -1
- package/dist/commands/apikey/managed/permissions.d.ts.map +1 -1
- package/dist/commands/apikey/managed/permissions.js +5 -3
- package/dist/commands/apikey/managed/permissions.js.map +1 -1
- package/dist/commands/apikey/managed/rotate.d.ts.map +1 -1
- package/dist/commands/apikey/managed/rotate.js +4 -3
- package/dist/commands/apikey/managed/rotate.js.map +1 -1
- package/dist/commands/apikey/permissions.d.ts.map +1 -1
- package/dist/commands/apikey/permissions.js +5 -3
- package/dist/commands/apikey/permissions.js.map +1 -1
- package/dist/commands/apikey/policies.d.ts.map +1 -1
- package/dist/commands/apikey/policies.js +10 -7
- package/dist/commands/apikey/policies.js.map +1 -1
- package/dist/commands/apikey/rotate.d.ts.map +1 -1
- package/dist/commands/apikey/rotate.js +4 -3
- package/dist/commands/apikey/rotate.js.map +1 -1
- package/dist/commands/apikey/show.d.ts.map +1 -1
- package/dist/commands/apikey/show.js +5 -4
- package/dist/commands/apikey/show.js.map +1 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +10 -3
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/cluster.d.ts.map +1 -1
- package/dist/commands/cluster.js +31 -14
- package/dist/commands/cluster.js.map +1 -1
- package/dist/commands/group.js +15 -3
- package/dist/commands/group.js.map +1 -1
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +6 -5
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/kms/crud.d.ts +1 -1
- package/dist/commands/kms/crud.d.ts.map +1 -1
- package/dist/commands/kms/crud.js +6 -6
- package/dist/commands/kms/crud.js.map +1 -1
- package/dist/commands/kms/index.d.ts.map +1 -1
- package/dist/commands/kms/index.js +5 -2
- package/dist/commands/kms/index.js.map +1 -1
- package/dist/commands/kms/lifecycle.d.ts +1 -1
- package/dist/commands/kms/lifecycle.d.ts.map +1 -1
- package/dist/commands/kms/lifecycle.js +7 -7
- package/dist/commands/kms/lifecycle.js.map +1 -1
- package/dist/commands/kms/routing.d.ts +5 -0
- package/dist/commands/kms/routing.d.ts.map +1 -1
- package/dist/commands/kms/routing.js +41 -5
- package/dist/commands/kms/routing.js.map +1 -1
- package/dist/commands/policy/attachments.d.ts +9 -5
- package/dist/commands/policy/attachments.d.ts.map +1 -1
- package/dist/commands/policy/attachments.js +16 -13
- package/dist/commands/policy/attachments.js.map +1 -1
- package/dist/commands/policy/crud.d.ts +6 -5
- package/dist/commands/policy/crud.d.ts.map +1 -1
- package/dist/commands/policy/crud.js +16 -11
- package/dist/commands/policy/crud.js.map +1 -1
- package/dist/commands/policy/helpers.d.ts +16 -0
- package/dist/commands/policy/helpers.d.ts.map +1 -1
- package/dist/commands/policy/helpers.js +9 -0
- package/dist/commands/policy/helpers.js.map +1 -1
- package/dist/commands/policy/io.d.ts +3 -2
- package/dist/commands/policy/io.d.ts.map +1 -1
- package/dist/commands/policy/io.js +7 -5
- package/dist/commands/policy/io.js.map +1 -1
- package/dist/commands/policy/list.d.ts +6 -2
- package/dist/commands/policy/list.d.ts.map +1 -1
- package/dist/commands/policy/list.js +7 -6
- package/dist/commands/policy/list.js.map +1 -1
- package/dist/commands/quarantine.js +23 -9
- package/dist/commands/quarantine.js.map +1 -1
- package/dist/commands/role.d.ts.map +1 -1
- package/dist/commands/role.js +36 -15
- package/dist/commands/role.js.map +1 -1
- package/dist/commands/sso/crud.d.ts +1 -1
- package/dist/commands/sso/crud.d.ts.map +1 -1
- package/dist/commands/sso/crud.js +16 -16
- package/dist/commands/sso/crud.js.map +1 -1
- package/dist/commands/sso/helpers.d.ts +7 -1
- package/dist/commands/sso/helpers.d.ts.map +1 -1
- package/dist/commands/sso/helpers.js +32 -1
- package/dist/commands/sso/helpers.js.map +1 -1
- package/dist/commands/sso/index.d.ts.map +1 -1
- package/dist/commands/sso/index.js +6 -1
- package/dist/commands/sso/index.js.map +1 -1
- package/dist/commands/user.js +11 -5
- package/dist/commands/user.js.map +1 -1
- package/dist/lib/cli-update.d.ts +18 -1
- package/dist/lib/cli-update.d.ts.map +1 -1
- package/dist/lib/cli-update.js +39 -3
- package/dist/lib/cli-update.js.map +1 -1
- package/dist/lib/client/apikeys.d.ts +21 -13
- package/dist/lib/client/apikeys.d.ts.map +1 -1
- package/dist/lib/client/apikeys.js +30 -26
- package/dist/lib/client/apikeys.js.map +1 -1
- package/dist/lib/client/audit.d.ts +54 -1
- package/dist/lib/client/audit.d.ts.map +1 -1
- package/dist/lib/client/audit.js +83 -9
- package/dist/lib/client/audit.js.map +1 -1
- package/dist/lib/client/index.d.ts +37 -36
- package/dist/lib/client/index.d.ts.map +1 -1
- package/dist/lib/client/index.js +37 -36
- package/dist/lib/client/index.js.map +1 -1
- package/dist/lib/client/managed-keys.d.ts +10 -7
- package/dist/lib/client/managed-keys.d.ts.map +1 -1
- package/dist/lib/client/managed-keys.js +16 -16
- package/dist/lib/client/managed-keys.js.map +1 -1
- package/dist/lib/client/policies.d.ts +14 -10
- package/dist/lib/client/policies.d.ts.map +1 -1
- package/dist/lib/client/policies.js +22 -22
- package/dist/lib/client/policies.js.map +1 -1
- package/dist/lib/client/quarantine.d.ts +25 -9
- package/dist/lib/client/quarantine.d.ts.map +1 -1
- package/dist/lib/client/quarantine.js +44 -27
- package/dist/lib/client/quarantine.js.map +1 -1
- package/dist/lib/client/users.d.ts +30 -3
- package/dist/lib/client/users.d.ts.map +1 -1
- package/dist/lib/client/users.js +39 -15
- package/dist/lib/client/users.js.map +1 -1
- package/dist/lib/command-context.d.ts +15 -0
- package/dist/lib/command-context.d.ts.map +1 -1
- package/dist/lib/command-context.js +9 -0
- package/dist/lib/command-context.js.map +1 -1
- package/dist/lib/db/health.d.ts.map +1 -1
- package/dist/lib/db/health.js +13 -4
- package/dist/lib/db/health.js.map +1 -1
- package/dist/lib/mode.d.ts +18 -4
- package/dist/lib/mode.d.ts.map +1 -1
- package/dist/lib/mode.js +13 -6
- package/dist/lib/mode.js.map +1 -1
- package/dist/tui/hooks/useApi.d.ts +14 -7
- package/dist/tui/hooks/useApi.d.ts.map +1 -1
- package/dist/tui/hooks/useApi.js.map +1 -1
- package/dist/tui/screens/Dashboard.d.ts.map +1 -1
- package/dist/tui/screens/Dashboard.js +2 -3
- package/dist/tui/screens/Dashboard.js.map +1 -1
- package/dist/types/index.d.ts +59 -12
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/commands/kms/routing.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/commands/kms/routing.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D;;;;;;;;;GASG;AACH,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,KAAc,EAAE,EAAoB;IAC1E,MAAM,IAAI,GAAG,aAAa,CAAC;IAC3B,aAAa,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,cAAkC;IACzD,IAAI,aAAa;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,2EAA2E;IAC3E,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC/B,iEAAiE;IACjE,OAAO,cAAc,KAAK,GAAG,CAAC,QAAQ,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,cAAkC,EAAE,MAAM,GAAG,EAAE;IACzE,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1F,OAAO,IAAI,GAAG,MAAM,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,cAAkC,EAClC,QAA4C,EAAE;IAE9C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/E,IAAI,eAAe,CAAC,cAAc,CAAC,IAAI,cAAc,EAAE,CAAC;QACtD,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC;IACnC,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClD,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,cAAkC;IAC/D,OAAO,eAAe,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Policy attachment commands
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
1
5
|
import type { PolicyAttachmentsOptions, PolicyAttachOptions, PolicyUserPoliciesOptions, PolicyRolePoliciesOptions } from './types.js';
|
|
2
|
-
export declare function showAttachments(id: string, options: PolicyAttachmentsOptions): Promise<void>;
|
|
3
|
-
export declare function attachPolicyToUser(policyId: string, userId: string, options: PolicyAttachOptions): Promise<void>;
|
|
4
|
-
export declare function attachPolicyToRole(policyId: string, roleId: string, options: PolicyAttachOptions): Promise<void>;
|
|
5
|
-
export declare function detachPolicyFromUser(policyId: string, userId: string, options: PolicyAttachOptions): Promise<void>;
|
|
6
|
-
export declare function detachPolicyFromRole(policyId: string, roleId: string, options: PolicyAttachOptions): Promise<void>;
|
|
6
|
+
export declare function showAttachments(id: string, options: PolicyAttachmentsOptions, cmd?: Command): Promise<void>;
|
|
7
|
+
export declare function attachPolicyToUser(policyId: string, userId: string, options: PolicyAttachOptions, cmd?: Command): Promise<void>;
|
|
8
|
+
export declare function attachPolicyToRole(policyId: string, roleId: string, options: PolicyAttachOptions, cmd?: Command): Promise<void>;
|
|
9
|
+
export declare function detachPolicyFromUser(policyId: string, userId: string, options: PolicyAttachOptions, cmd?: Command): Promise<void>;
|
|
10
|
+
export declare function detachPolicyFromRole(policyId: string, roleId: string, options: PolicyAttachOptions, cmd?: Command): Promise<void>;
|
|
7
11
|
export declare function listUserPolicies(userId: string, options: PolicyUserPoliciesOptions): Promise<void>;
|
|
8
12
|
export declare function listRolePolicies(roleId: string, options: PolicyRolePoliciesOptions): Promise<void>;
|
|
9
13
|
//# sourceMappingURL=attachments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/commands/policy/attachments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/commands/policy/attachments.ts"],"names":[],"mappings":"AAEA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAGpB,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CjH;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAerI;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAerI;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAevI;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAevI;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCxG;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCxG"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
// Path: src/commands/policy/attachments.ts
|
|
2
|
-
/**
|
|
3
|
-
* Policy attachment commands
|
|
4
|
-
*/
|
|
5
2
|
import { client } from '../../lib/client.js';
|
|
6
3
|
import * as output from '../../lib/output.js';
|
|
7
4
|
import { shortId, formatActiveStatus } from '../../lib/format-helpers.js';
|
|
8
|
-
|
|
5
|
+
import { policyAsSuperadmin } from './helpers.js';
|
|
6
|
+
export async function showAttachments(id, options, cmd) {
|
|
9
7
|
const spinner = output.spinner('Fetching attachments...').start();
|
|
8
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
10
9
|
try {
|
|
11
|
-
const result = await client.getPolicyAttachments(id, options.tenant);
|
|
10
|
+
const result = await client.getPolicyAttachments(id, options.tenant, { asSuperadmin });
|
|
12
11
|
spinner.stop();
|
|
13
12
|
if (options.json) {
|
|
14
13
|
output.json(result);
|
|
@@ -41,10 +40,11 @@ export async function showAttachments(id, options) {
|
|
|
41
40
|
output.fatal(output.getErrorMessage(err));
|
|
42
41
|
}
|
|
43
42
|
}
|
|
44
|
-
export async function attachPolicyToUser(policyId, userId, options) {
|
|
43
|
+
export async function attachPolicyToUser(policyId, userId, options, cmd) {
|
|
45
44
|
const spinner = output.spinner('Attaching policy to user...').start();
|
|
45
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
46
46
|
try {
|
|
47
|
-
await client.attachPolicyToUser(policyId, userId, options.tenant);
|
|
47
|
+
await client.attachPolicyToUser(policyId, userId, options.tenant, { asSuperadmin });
|
|
48
48
|
spinner.succeed('Policy attached to user successfully');
|
|
49
49
|
if (options.json) {
|
|
50
50
|
output.json({ success: true, policyId, userId, message: 'Policy attached to user successfully' });
|
|
@@ -55,10 +55,11 @@ export async function attachPolicyToUser(policyId, userId, options) {
|
|
|
55
55
|
output.fatal(output.getErrorMessage(err));
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
export async function attachPolicyToRole(policyId, roleId, options) {
|
|
58
|
+
export async function attachPolicyToRole(policyId, roleId, options, cmd) {
|
|
59
59
|
const spinner = output.spinner('Attaching policy to role...').start();
|
|
60
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
60
61
|
try {
|
|
61
|
-
await client.attachPolicyToRole(policyId, roleId, options.tenant);
|
|
62
|
+
await client.attachPolicyToRole(policyId, roleId, options.tenant, { asSuperadmin });
|
|
62
63
|
spinner.succeed('Policy attached to role successfully');
|
|
63
64
|
if (options.json) {
|
|
64
65
|
output.json({ success: true, policyId, roleId, message: 'Policy attached to role successfully' });
|
|
@@ -69,10 +70,11 @@ export async function attachPolicyToRole(policyId, roleId, options) {
|
|
|
69
70
|
output.fatal(output.getErrorMessage(err));
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
|
-
export async function detachPolicyFromUser(policyId, userId, options) {
|
|
73
|
+
export async function detachPolicyFromUser(policyId, userId, options, cmd) {
|
|
73
74
|
const spinner = output.spinner('Detaching policy from user...').start();
|
|
75
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
74
76
|
try {
|
|
75
|
-
await client.detachPolicyFromUser(policyId, userId, options.tenant);
|
|
77
|
+
await client.detachPolicyFromUser(policyId, userId, options.tenant, { asSuperadmin });
|
|
76
78
|
spinner.succeed('Policy detached from user successfully');
|
|
77
79
|
if (options.json) {
|
|
78
80
|
output.json({ success: true, policyId, userId, message: 'Policy detached from user successfully' });
|
|
@@ -83,10 +85,11 @@ export async function detachPolicyFromUser(policyId, userId, options) {
|
|
|
83
85
|
output.fatal(output.getErrorMessage(err));
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
|
-
export async function detachPolicyFromRole(policyId, roleId, options) {
|
|
88
|
+
export async function detachPolicyFromRole(policyId, roleId, options, cmd) {
|
|
87
89
|
const spinner = output.spinner('Detaching policy from role...').start();
|
|
90
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
88
91
|
try {
|
|
89
|
-
await client.detachPolicyFromRole(policyId, roleId, options.tenant);
|
|
92
|
+
await client.detachPolicyFromRole(policyId, roleId, options.tenant, { asSuperadmin });
|
|
90
93
|
spinner.succeed('Policy detached from role successfully');
|
|
91
94
|
if (options.json) {
|
|
92
95
|
output.json({ success: true, policyId, roleId, message: 'Policy detached from role successfully' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/commands/policy/attachments.ts"],"names":[],"mappings":"AAAA,2CAA2C;
|
|
1
|
+
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/commands/policy/attachments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { PolicyCreateOptions, PolicyUpdateOptions, PolicyDeleteOptions, PolicyToggleOptions, PolicyValidateOptions } from './types.js';
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
2
|
+
import type { Command } from 'commander';
|
|
3
|
+
export declare function createPolicy(options: PolicyCreateOptions, cmd?: Command): Promise<void>;
|
|
4
|
+
export declare function updatePolicy(id: string, options: PolicyUpdateOptions, cmd?: Command): Promise<void>;
|
|
5
|
+
export declare function deletePolicy(id: string, options: PolicyDeleteOptions, cmd?: Command): Promise<void>;
|
|
6
|
+
export declare function enablePolicy(id: string, options: PolicyToggleOptions, cmd?: Command): Promise<void>;
|
|
7
|
+
export declare function disablePolicy(id: string, options: PolicyToggleOptions, cmd?: Command): Promise<void>;
|
|
7
8
|
export declare function validatePolicy(options: PolicyValidateOptions): Promise<void>;
|
|
8
9
|
//# sourceMappingURL=crud.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../../src/commands/policy/crud.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../../src/commands/policy/crud.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD7F;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CzG;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBzG;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBzG;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB1G;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+ClF"}
|
|
@@ -6,8 +6,9 @@ import { client } from '../../lib/client.js';
|
|
|
6
6
|
import { promptConfirm } from '../../lib/prompts.js';
|
|
7
7
|
import * as output from '../../lib/output.js';
|
|
8
8
|
import { formatActiveStatus } from '../../lib/format-helpers.js';
|
|
9
|
-
import { safeReadFile, safeParseJson } from './helpers.js';
|
|
10
|
-
export async function createPolicy(options) {
|
|
9
|
+
import { safeReadFile, safeParseJson, policyAsSuperadmin } from './helpers.js';
|
|
10
|
+
export async function createPolicy(options, cmd) {
|
|
11
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
11
12
|
try {
|
|
12
13
|
let policyData;
|
|
13
14
|
if (options.fromFile) {
|
|
@@ -41,7 +42,7 @@ export async function createPolicy(options) {
|
|
|
41
42
|
output.fatal('Priority must be a non-negative number');
|
|
42
43
|
}
|
|
43
44
|
const spinner = output.spinner('Creating policy...').start();
|
|
44
|
-
const result = await client.createPolicy(policyData);
|
|
45
|
+
const result = await client.createPolicy({ ...policyData, asSuperadmin });
|
|
45
46
|
spinner.succeed('Policy created successfully');
|
|
46
47
|
if (options.json) {
|
|
47
48
|
output.json(result);
|
|
@@ -60,7 +61,8 @@ export async function createPolicy(options) {
|
|
|
60
61
|
output.fatal(output.getErrorMessage(err));
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
|
-
export async function updatePolicy(id, options) {
|
|
64
|
+
export async function updatePolicy(id, options, cmd) {
|
|
65
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
64
66
|
try {
|
|
65
67
|
let updates;
|
|
66
68
|
if (options.fromFile) {
|
|
@@ -93,7 +95,7 @@ export async function updatePolicy(id, options) {
|
|
|
93
95
|
output.fatal('No updates specified');
|
|
94
96
|
}
|
|
95
97
|
const spinner = output.spinner('Updating policy...').start();
|
|
96
|
-
const result = await client.updatePolicy(id, updates, options.tenant);
|
|
98
|
+
const result = await client.updatePolicy(id, updates, options.tenant, { asSuperadmin });
|
|
97
99
|
spinner.succeed('Policy updated successfully');
|
|
98
100
|
if (options.json) {
|
|
99
101
|
output.json(result);
|
|
@@ -111,7 +113,8 @@ export async function updatePolicy(id, options) {
|
|
|
111
113
|
output.fatal(output.getErrorMessage(err));
|
|
112
114
|
}
|
|
113
115
|
}
|
|
114
|
-
export async function deletePolicy(id, options) {
|
|
116
|
+
export async function deletePolicy(id, options, cmd) {
|
|
117
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
115
118
|
try {
|
|
116
119
|
if (!options.yes) {
|
|
117
120
|
const confirmed = await promptConfirm(`Are you sure you want to delete policy '${id}'? This cannot be undone.`);
|
|
@@ -121,7 +124,7 @@ export async function deletePolicy(id, options) {
|
|
|
121
124
|
}
|
|
122
125
|
}
|
|
123
126
|
const spinner = output.spinner('Deleting policy...').start();
|
|
124
|
-
await client.deletePolicy(id, options.tenant);
|
|
127
|
+
await client.deletePolicy(id, options.tenant, { asSuperadmin });
|
|
125
128
|
spinner.succeed(`Policy '${id}' deleted successfully`);
|
|
126
129
|
if (options.json) {
|
|
127
130
|
output.json({ success: true, id, message: 'Policy deleted successfully' });
|
|
@@ -131,10 +134,11 @@ export async function deletePolicy(id, options) {
|
|
|
131
134
|
output.fatal(output.getErrorMessage(err));
|
|
132
135
|
}
|
|
133
136
|
}
|
|
134
|
-
export async function enablePolicy(id, options) {
|
|
137
|
+
export async function enablePolicy(id, options, cmd) {
|
|
135
138
|
const spinner = output.spinner('Enabling policy...').start();
|
|
139
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
136
140
|
try {
|
|
137
|
-
const result = await client.togglePolicy(id, true, options.tenant);
|
|
141
|
+
const result = await client.togglePolicy(id, true, options.tenant, { asSuperadmin });
|
|
138
142
|
spinner.succeed('Policy enabled successfully');
|
|
139
143
|
if (options.json) {
|
|
140
144
|
output.json(result);
|
|
@@ -152,10 +156,11 @@ export async function enablePolicy(id, options) {
|
|
|
152
156
|
output.fatal(output.getErrorMessage(err));
|
|
153
157
|
}
|
|
154
158
|
}
|
|
155
|
-
export async function disablePolicy(id, options) {
|
|
159
|
+
export async function disablePolicy(id, options, cmd) {
|
|
156
160
|
const spinner = output.spinner('Disabling policy...').start();
|
|
161
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
157
162
|
try {
|
|
158
|
-
const result = await client.togglePolicy(id, false, options.tenant);
|
|
163
|
+
const result = await client.togglePolicy(id, false, options.tenant, { asSuperadmin });
|
|
159
164
|
spinner.succeed('Policy disabled successfully');
|
|
160
165
|
if (options.json) {
|
|
161
166
|
output.json(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../../src/commands/policy/crud.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../../src/commands/policy/crud.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect whether the currently-invoked policy handler lives under the
|
|
3
|
+
* `superadmin` namespace by walking the Commander parent chain.
|
|
4
|
+
*
|
|
5
|
+
* Mirrors the helper in `commands/apikey/helpers.ts`: handlers call this
|
|
6
|
+
* with the Commander Command instance (passed by Commander as the last
|
|
7
|
+
* arg to action callbacks) to decide whether to route through
|
|
8
|
+
* `/v1/superadmin/policies/*` instead of the tenant-scoped
|
|
9
|
+
* `/v1/policies/*` (which rejects pure superadmin principals).
|
|
10
|
+
*/
|
|
11
|
+
interface CommanderLike {
|
|
12
|
+
name(): string;
|
|
13
|
+
parent: CommanderLike | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function policyAsSuperadmin(cmd: CommanderLike | null | undefined): boolean;
|
|
1
16
|
/**
|
|
2
17
|
* Safely read a file with proper error handling
|
|
3
18
|
*/
|
|
@@ -10,4 +25,5 @@ export declare function safeParseJson<T>(content: string, context: string): T;
|
|
|
10
25
|
* Safely write a file with proper error handling
|
|
11
26
|
*/
|
|
12
27
|
export declare function safeWriteFile(filePath: string, content: string): void;
|
|
28
|
+
export {};
|
|
13
29
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/policy/helpers.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CASpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAcrE"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/policy/helpers.ts"],"names":[],"mappings":"AAQA;;;;;;;;;GASG;AACH,UAAU,aAAa;IACrB,IAAI,IAAI,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAOjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CASpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAcrE"}
|
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
* Helper functions for policy commands
|
|
4
4
|
*/
|
|
5
5
|
import * as fs from 'fs';
|
|
6
|
+
export function policyAsSuperadmin(cmd) {
|
|
7
|
+
let node = cmd;
|
|
8
|
+
while (node) {
|
|
9
|
+
if (node.name() === 'superadmin')
|
|
10
|
+
return true;
|
|
11
|
+
node = node.parent;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
6
15
|
/**
|
|
7
16
|
* Safely read a file with proper error handling
|
|
8
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/policy/helpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/policy/helpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAiBzB,MAAM,UAAU,kBAAkB,CAAC,GAAqC;IACtE,IAAI,IAAI,GAAqC,GAAG,CAAC;IACjD,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAI,OAAe,EAAE,OAAe;IAC/D,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,UAAU,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe;IAC7D,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PolicyExportOptions, PolicyImportOptions } from './types.js';
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
2
|
+
import type { Command } from 'commander';
|
|
3
|
+
export declare function exportPolicy(id: string, options: PolicyExportOptions, cmd?: Command): Promise<void>;
|
|
4
|
+
export declare function importPolicy(path: string, options: PolicyImportOptions, cmd?: Command): Promise<void>;
|
|
4
5
|
//# sourceMappingURL=io.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../../src/commands/policy/io.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../../src/commands/policy/io.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BzG;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B3G"}
|
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
import { client } from '../../lib/client.js';
|
|
6
6
|
import * as output from '../../lib/output.js';
|
|
7
7
|
import { formatActiveStatus } from '../../lib/format-helpers.js';
|
|
8
|
-
import { safeReadFile, safeParseJson, safeWriteFile } from './helpers.js';
|
|
9
|
-
export async function exportPolicy(id, options) {
|
|
8
|
+
import { safeReadFile, safeParseJson, safeWriteFile, policyAsSuperadmin } from './helpers.js';
|
|
9
|
+
export async function exportPolicy(id, options, cmd) {
|
|
10
10
|
const spinner = output.spinner('Exporting policy...').start();
|
|
11
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
11
12
|
try {
|
|
12
|
-
const result = await client.getPolicy(id);
|
|
13
|
+
const result = await client.getPolicy(id, undefined, { asSuperadmin });
|
|
13
14
|
spinner.stop();
|
|
14
15
|
const exportData = {
|
|
15
16
|
name: result.name,
|
|
@@ -34,7 +35,7 @@ export async function exportPolicy(id, options) {
|
|
|
34
35
|
output.fatal(output.getErrorMessage(err));
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
|
-
export async function importPolicy(path, options) {
|
|
38
|
+
export async function importPolicy(path, options, cmd) {
|
|
38
39
|
try {
|
|
39
40
|
const content = safeReadFile(path);
|
|
40
41
|
const policyData = safeParseJson(content, path);
|
|
@@ -42,7 +43,8 @@ export async function importPolicy(path, options) {
|
|
|
42
43
|
policyData.tenantId = options.tenant;
|
|
43
44
|
}
|
|
44
45
|
const spinner = output.spinner('Importing policy...').start();
|
|
45
|
-
const
|
|
46
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
47
|
+
const result = await client.createPolicy({ ...policyData, asSuperadmin });
|
|
46
48
|
spinner.succeed('Policy imported successfully');
|
|
47
49
|
if (options.json) {
|
|
48
50
|
output.json(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io.js","sourceRoot":"","sources":["../../../src/commands/policy/io.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAElC;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"io.js","sourceRoot":"","sources":["../../../src/commands/policy/io.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Policy list and get commands
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
1
5
|
import type { PolicyListOptions, PolicyGetOptions } from './types.js';
|
|
2
|
-
export declare function listPolicies(options: PolicyListOptions): Promise<void>;
|
|
3
|
-
export declare function getPolicy(id: string, options: PolicyGetOptions): Promise<void>;
|
|
6
|
+
export declare function listPolicies(options: PolicyListOptions, cmd?: Command): Promise<void>;
|
|
7
|
+
export declare function getPolicy(id: string, options: PolicyGetOptions, cmd?: Command): Promise<void>;
|
|
4
8
|
//# sourceMappingURL=list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/policy/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/policy/list.ts"],"names":[],"mappings":"AAEA;;GAEG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGtE,wBAAsB,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C3F;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DnG"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
// Path: src/commands/policy/list.ts
|
|
2
|
-
/**
|
|
3
|
-
* Policy list and get commands
|
|
4
|
-
*/
|
|
5
2
|
import { client } from '../../lib/client.js';
|
|
6
3
|
import * as output from '../../lib/output.js';
|
|
7
4
|
import { shortId, formatActiveStatus, formatPaginationInfo } from '../../lib/format-helpers.js';
|
|
8
|
-
|
|
5
|
+
import { policyAsSuperadmin } from './helpers.js';
|
|
6
|
+
export async function listPolicies(options, cmd) {
|
|
7
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
9
8
|
const spinner = output.spinner('Fetching policies...').start();
|
|
10
9
|
try {
|
|
11
10
|
const result = await client.listPolicies({
|
|
@@ -13,6 +12,7 @@ export async function listPolicies(options) {
|
|
|
13
12
|
enabled: options.enabled ? true : options.disabled ? false : undefined,
|
|
14
13
|
effect: options.effect,
|
|
15
14
|
search: options.search,
|
|
15
|
+
asSuperadmin,
|
|
16
16
|
});
|
|
17
17
|
spinner.stop();
|
|
18
18
|
if (options.json) {
|
|
@@ -39,10 +39,11 @@ export async function listPolicies(options) {
|
|
|
39
39
|
output.fatal(output.getErrorMessage(err));
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
export async function getPolicy(id, options) {
|
|
42
|
+
export async function getPolicy(id, options, cmd) {
|
|
43
43
|
const spinner = output.spinner('Fetching policy...').start();
|
|
44
|
+
const asSuperadmin = policyAsSuperadmin(cmd);
|
|
44
45
|
try {
|
|
45
|
-
const result = await client.getPolicy(id, options.tenant);
|
|
46
|
+
const result = await client.getPolicy(id, options.tenant, { asSuperadmin });
|
|
46
47
|
spinner.stop();
|
|
47
48
|
if (options.json) {
|
|
48
49
|
output.json(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/policy/list.ts"],"names":[],"mappings":"AAAA,oCAAoC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/policy/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,16 @@ export function registerQuarantineCommands(parent, opts) {
|
|
|
13
13
|
withRegisterContext(ctx, () => { registerQuarantineCommandsInner(parent, ctx); });
|
|
14
14
|
}
|
|
15
15
|
function registerQuarantineCommandsInner(parent, ctx) {
|
|
16
|
+
const asSuperadmin = ctx === 'superadmin';
|
|
16
17
|
// Helper: only register --tenant in superadmin context
|
|
17
|
-
const t = (cmd, desc, shortFlag = true) =>
|
|
18
|
+
const t = (cmd, desc, shortFlag = true) => asSuperadmin
|
|
18
19
|
? cmd.option(shortFlag ? '-t, --tenant <tenant>' : '--tenant <tenant>', desc)
|
|
19
20
|
: cmd;
|
|
21
|
+
// Build the scope object used by every quarantine client call. In tenant
|
|
22
|
+
// mode this stays `undefined` (routes to `/v1/quarantine/*`). In
|
|
23
|
+
// superadmin mode it always routes to `/v1/superadmin/quarantine/*`,
|
|
24
|
+
// optionally narrowed by --tenant.
|
|
25
|
+
const scope = (tenant) => asSuperadmin ? { asSuperadmin: true, tenantId: tenant } : undefined;
|
|
20
26
|
const quarantine = parent
|
|
21
27
|
.command('quarantine')
|
|
22
28
|
.description(ctx === 'superadmin'
|
|
@@ -41,6 +47,7 @@ function registerQuarantineCommandsInner(parent, ctx) {
|
|
|
41
47
|
tenantId: options.tenant,
|
|
42
48
|
includeExpired: options.includeExpired,
|
|
43
49
|
limit: parseInt(options.limit, 10),
|
|
50
|
+
asSuperadmin,
|
|
44
51
|
});
|
|
45
52
|
spinner.stop();
|
|
46
53
|
if (options.json) {
|
|
@@ -60,7 +67,13 @@ function registerQuarantineCommandsInner(parent, ctx) {
|
|
|
60
67
|
q.tenantId ?? '-',
|
|
61
68
|
q.reason.substring(0, 30),
|
|
62
69
|
]));
|
|
63
|
-
|
|
70
|
+
// The server returns {items, total} for quarantine list (legacy shape)
|
|
71
|
+
// rather than the standard {items, pagination:{total,…}} envelope used
|
|
72
|
+
// elsewhere. Accept either to stay robust against server-side cleanups.
|
|
73
|
+
const total = result.pagination?.total ??
|
|
74
|
+
result.total ??
|
|
75
|
+
result.items.length;
|
|
76
|
+
output.info(`Showing ${result.items.length} of ${total} quarantines`);
|
|
64
77
|
}
|
|
65
78
|
catch (err) {
|
|
66
79
|
spinner.fail('Failed to list quarantines');
|
|
@@ -80,7 +93,7 @@ function registerQuarantineCommandsInner(parent, ctx) {
|
|
|
80
93
|
.action(async (id, options) => {
|
|
81
94
|
const spinner = output.spinner('Fetching quarantine details...').start();
|
|
82
95
|
try {
|
|
83
|
-
const q = await client.getQuarantine(id, options.tenant);
|
|
96
|
+
const q = await client.getQuarantine(id, scope(options.tenant));
|
|
84
97
|
spinner.stop();
|
|
85
98
|
if (options.json) {
|
|
86
99
|
output.json(q);
|
|
@@ -138,7 +151,7 @@ function registerQuarantineCommandsInner(parent, ctx) {
|
|
|
138
151
|
.action(async (id, reason, options) => {
|
|
139
152
|
try {
|
|
140
153
|
// Get quarantine info first
|
|
141
|
-
const q = await client.getQuarantine(id, options.tenant);
|
|
154
|
+
const q = await client.getQuarantine(id, scope(options.tenant));
|
|
142
155
|
if (!options.yes) {
|
|
143
156
|
const confirmed = await promptConfirm(`Are you sure you want to release quarantine for IP ${q.ipAddress}?`);
|
|
144
157
|
if (!confirmed) {
|
|
@@ -148,7 +161,7 @@ function registerQuarantineCommandsInner(parent, ctx) {
|
|
|
148
161
|
}
|
|
149
162
|
const spinner = output.spinner('Releasing quarantine...').start();
|
|
150
163
|
try {
|
|
151
|
-
const result = await client.releaseQuarantine(id, reason, options.tenant);
|
|
164
|
+
const result = await client.releaseQuarantine(id, reason, scope(options.tenant));
|
|
152
165
|
spinner.succeed('Quarantine released');
|
|
153
166
|
if (options.json) {
|
|
154
167
|
output.json(result);
|
|
@@ -187,7 +200,7 @@ function registerQuarantineCommandsInner(parent, ctx) {
|
|
|
187
200
|
}
|
|
188
201
|
const spinner = output.spinner('Releasing IP quarantines...').start();
|
|
189
202
|
try {
|
|
190
|
-
const result = await client.releaseQuarantineIp(ip, reason, options.tenant);
|
|
203
|
+
const result = await client.releaseQuarantineIp(ip, reason, scope(options.tenant));
|
|
191
204
|
spinner.succeed('Quarantine(s) released');
|
|
192
205
|
if (options.json) {
|
|
193
206
|
output.json(result);
|
|
@@ -224,6 +237,7 @@ function registerQuarantineCommandsInner(parent, ctx) {
|
|
|
224
237
|
const result = await client.getQuarantineHistory(ip, {
|
|
225
238
|
limit: parseInt(options.limit, 10),
|
|
226
239
|
tenantId: options.tenant,
|
|
240
|
+
asSuperadmin,
|
|
227
241
|
});
|
|
228
242
|
spinner.stop();
|
|
229
243
|
if (options.json) {
|
|
@@ -264,7 +278,7 @@ function registerQuarantineCommandsInner(parent, ctx) {
|
|
|
264
278
|
.action(async (options) => {
|
|
265
279
|
const spinner = output.spinner('Fetching statistics...').start();
|
|
266
280
|
try {
|
|
267
|
-
const stats = await client.getQuarantineStats(options.tenant);
|
|
281
|
+
const stats = await client.getQuarantineStats(scope(options.tenant));
|
|
268
282
|
spinner.stop();
|
|
269
283
|
if (options.json) {
|
|
270
284
|
output.json(stats);
|
|
@@ -308,7 +322,7 @@ function registerQuarantineCommandsInner(parent, ctx) {
|
|
|
308
322
|
.action(async (options) => {
|
|
309
323
|
const spinner = output.spinner('Fetching configuration...').start();
|
|
310
324
|
try {
|
|
311
|
-
const config = await client.getQuarantineConfig(options.tenant);
|
|
325
|
+
const config = await client.getQuarantineConfig(scope(options.tenant));
|
|
312
326
|
spinner.stop();
|
|
313
327
|
if (options.json) {
|
|
314
328
|
output.json(config);
|
|
@@ -411,7 +425,7 @@ function registerQuarantineCommandsInner(parent, ctx) {
|
|
|
411
425
|
}
|
|
412
426
|
const spinner = output.spinner('Updating configuration...').start();
|
|
413
427
|
try {
|
|
414
|
-
const result = await client.updateQuarantineConfig(updates, options.tenant);
|
|
428
|
+
const result = await client.updateQuarantineConfig(updates, scope(options.tenant));
|
|
415
429
|
spinner.succeed('Configuration updated');
|
|
416
430
|
if (options.json) {
|
|
417
431
|
output.json(result);
|