@zincapp/znvault-cli 3.3.1 → 4.0.2
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 +32 -28
- package/dist/commands/advisor.d.ts +14 -1
- package/dist/commands/advisor.d.ts.map +1 -1
- package/dist/commands/advisor.js +355 -331
- package/dist/commands/advisor.js.map +1 -1
- package/dist/commands/agent/index.d.ts +2 -1
- package/dist/commands/agent/index.d.ts.map +1 -1
- package/dist/commands/agent/index.js +23 -19
- package/dist/commands/agent/index.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/index.d.ts +2 -1
- package/dist/commands/apikey/index.d.ts.map +1 -1
- package/dist/commands/apikey/index.js +23 -14
- package/dist/commands/apikey/index.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 +2 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +15 -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.d.ts +2 -1
- package/dist/commands/group.d.ts.map +1 -1
- package/dist/commands/group.js +61 -39
- 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/host/index.d.ts +2 -1
- package/dist/commands/host/index.d.ts.map +1 -1
- package/dist/commands/host/index.js +22 -18
- package/dist/commands/host/index.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 +2 -1
- package/dist/commands/kms/index.d.ts.map +1 -1
- package/dist/commands/kms/index.js +14 -6
- 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/index.d.ts +2 -1
- package/dist/commands/policy/index.d.ts.map +1 -1
- package/dist/commands/policy/index.js +149 -101
- package/dist/commands/policy/index.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.d.ts +2 -1
- package/dist/commands/quarantine.d.ts.map +1 -1
- package/dist/commands/quarantine.js +394 -339
- package/dist/commands/quarantine.js.map +1 -1
- package/dist/commands/role.d.ts +2 -1
- package/dist/commands/role.d.ts.map +1 -1
- package/dist/commands/role.js +92 -49
- package/dist/commands/role.js.map +1 -1
- package/dist/commands/ssh/index.d.ts +2 -1
- package/dist/commands/ssh/index.d.ts.map +1 -1
- package/dist/commands/ssh/index.js +18 -13
- package/dist/commands/ssh/index.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 +2 -1
- package/dist/commands/sso/index.d.ts.map +1 -1
- package/dist/commands/sso/index.js +13 -5
- package/dist/commands/sso/index.js.map +1 -1
- package/dist/commands/superadmin/accounts.d.ts +10 -0
- package/dist/commands/superadmin/accounts.d.ts.map +1 -0
- package/dist/commands/{superadmin.js → superadmin/accounts.js} +16 -15
- package/dist/commands/superadmin/accounts.js.map +1 -0
- package/dist/commands/superadmin/index.d.ts +20 -0
- package/dist/commands/superadmin/index.d.ts.map +1 -0
- package/dist/commands/superadmin/index.js +60 -0
- package/dist/commands/superadmin/index.js.map +1 -0
- package/dist/commands/user.d.ts +2 -1
- package/dist/commands/user.d.ts.map +1 -1
- package/dist/commands/user.js +26 -13
- package/dist/commands/user.js.map +1 -1
- package/dist/index.js +18 -13
- package/dist/index.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 +64 -0
- package/dist/lib/command-context.d.ts.map +1 -0
- package/dist/lib/command-context.js +90 -0
- package/dist/lib/command-context.js.map +1 -0
- package/dist/lib/context-help.d.ts.map +1 -1
- package/dist/lib/context-help.js +5 -0
- package/dist/lib/context-help.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
- package/dist/commands/superadmin.d.ts +0 -3
- package/dist/commands/superadmin.d.ts.map +0 -1
- package/dist/commands/superadmin.js.map +0 -1
|
@@ -5,7 +5,7 @@ import { client } from '../../lib/client.js';
|
|
|
5
5
|
import * as output from '../../lib/output.js';
|
|
6
6
|
import { getAuthContext } from '../../lib/auth-context.js';
|
|
7
7
|
import { formatDate, formatKeyState, formatPaginationInfo } from './helpers.js';
|
|
8
|
-
import { kmsKeysPath, kmsKeysQuery, kmsIsAdminCall } from './routing.js';
|
|
8
|
+
import { kmsKeysPath, kmsKeysQuery, kmsIsAdminCall, withKmsContext } from './routing.js';
|
|
9
9
|
// ============================================================================
|
|
10
10
|
// Command Implementations
|
|
11
11
|
// ============================================================================
|
|
@@ -192,7 +192,7 @@ async function deleteKey(keyId, options) {
|
|
|
192
192
|
// ============================================================================
|
|
193
193
|
// Command Registration
|
|
194
194
|
// ============================================================================
|
|
195
|
-
export function registerCrudCommands(parent) {
|
|
195
|
+
export function registerCrudCommands(parent, asSuperadmin = false) {
|
|
196
196
|
// List keys
|
|
197
197
|
parent
|
|
198
198
|
.command('list')
|
|
@@ -200,14 +200,14 @@ export function registerCrudCommands(parent) {
|
|
|
200
200
|
.option('-t, --tenant <id>', 'Filter by tenant')
|
|
201
201
|
.option('--state <state>', 'Filter by state (Enabled, Disabled, PendingDeletion)')
|
|
202
202
|
.option('--json', 'Output as JSON')
|
|
203
|
-
.action(listKeys);
|
|
203
|
+
.action((options) => withKmsContext(asSuperadmin, () => listKeys(options)));
|
|
204
204
|
// Get key details
|
|
205
205
|
parent
|
|
206
206
|
.command('get <keyId>')
|
|
207
207
|
.description('Get KMS key details')
|
|
208
208
|
.option('-t, --tenant <id>', 'Tenant ID (superadmin only — routes via /v1/superadmin/kms/keys)')
|
|
209
209
|
.option('--json', 'Output as JSON')
|
|
210
|
-
.action(getKey);
|
|
210
|
+
.action((keyId, options) => withKmsContext(asSuperadmin, () => getKey(keyId, options)));
|
|
211
211
|
// Create key
|
|
212
212
|
parent
|
|
213
213
|
.command('create')
|
|
@@ -219,7 +219,7 @@ export function registerCrudCommands(parent) {
|
|
|
219
219
|
.option('--spec <spec>', 'Key spec (AES_256, AES_128, RSA_2048, RSA_4096)', 'AES_256')
|
|
220
220
|
.option('--tags <tags>', 'Comma-separated tags (key=value,...)')
|
|
221
221
|
.option('--json', 'Output as JSON')
|
|
222
|
-
.action(createKey);
|
|
222
|
+
.action((options) => withKmsContext(asSuperadmin, () => createKey(options)));
|
|
223
223
|
// Delete key
|
|
224
224
|
parent
|
|
225
225
|
.command('delete <keyId>')
|
|
@@ -228,6 +228,6 @@ export function registerCrudCommands(parent) {
|
|
|
228
228
|
.option('--days <days>', 'Waiting period in days (7-30)', '30')
|
|
229
229
|
.option('-f, --force', 'Skip confirmation')
|
|
230
230
|
.option('--json', 'Output as JSON')
|
|
231
|
-
.action(deleteKey);
|
|
231
|
+
.action((keyId, options) => withKmsContext(asSuperadmin, () => deleteKey(keyId, options)));
|
|
232
232
|
}
|
|
233
233
|
//# sourceMappingURL=crud.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../../src/commands/kms/crud.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAQjC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../../src/commands/kms/crud.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* - Key lifecycle management (rotate, enable, disable, versions)
|
|
8
8
|
*/
|
|
9
9
|
import type { Command } from 'commander';
|
|
10
|
-
|
|
10
|
+
import { type RegisterOptions } from '../../lib/command-context.js';
|
|
11
|
+
export declare function registerKmsCommands(parent: Command, opts?: RegisterOptions): void;
|
|
11
12
|
export * from './types.js';
|
|
12
13
|
export { formatDate, formatKeyState, parseContext, truncateId } from './helpers.js';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/kms/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/kms/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAC;AAEtC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAgBjF;AAGD,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -2,14 +2,22 @@
|
|
|
2
2
|
import { registerCrudCommands } from './crud.js';
|
|
3
3
|
import { registerCryptoCommands } from './crypto.js';
|
|
4
4
|
import { registerLifecycleCommands } from './lifecycle.js';
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import { resolveContext, withRegisterContext, } from '../../lib/command-context.js';
|
|
6
|
+
export function registerKmsCommands(parent, opts) {
|
|
7
|
+
const ctx = resolveContext(opts);
|
|
8
|
+
const asSuperadmin = ctx === 'superadmin';
|
|
9
|
+
const kms = parent
|
|
7
10
|
.command('kms')
|
|
8
11
|
.description('KMS (Key Management Service) operations');
|
|
9
|
-
// Register all sub-command groups
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
// Register all sub-command groups under the active context (controls whether
|
|
13
|
+
// `--tenant` options are accepted; see command-context.applyTenantContextPatch).
|
|
14
|
+
withRegisterContext(ctx, () => {
|
|
15
|
+
registerCrudCommands(kms, asSuperadmin);
|
|
16
|
+
// KMS crypto ops have no superadmin counterpart by design (separation
|
|
17
|
+
// of duties), so they are not threaded with the asSuperadmin flag.
|
|
18
|
+
registerCryptoCommands(kms);
|
|
19
|
+
registerLifecycleCommands(kms, asSuperadmin);
|
|
20
|
+
});
|
|
13
21
|
}
|
|
14
22
|
// Re-export types for external use
|
|
15
23
|
export * from './types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/kms/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAYlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/kms/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAYlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,mBAAmB,GAEpB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,UAAU,mBAAmB,CAAC,MAAe,EAAE,IAAsB;IACzE,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,GAAG,KAAK,YAAY,CAAC;IAC1C,MAAM,GAAG,GAAG,MAAM;SACf,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,yCAAyC,CAAC,CAAC;IAE1D,6EAA6E;IAC7E,iFAAiF;IACjF,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;QAC5B,oBAAoB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACxC,sEAAsE;QACtE,mEAAmE;QACnE,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC5B,yBAAyB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mCAAmC;AACnC,cAAc,YAAY,CAAC;AAE3B,wCAAwC;AACxC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* KMS key lifecycle operations (rotate, enable, disable, versions)
|
|
3
3
|
*/
|
|
4
4
|
import type { Command } from 'commander';
|
|
5
|
-
export declare function registerLifecycleCommands(parent: Command): void;
|
|
5
|
+
export declare function registerLifecycleCommands(parent: Command, asSuperadmin?: boolean): void;
|
|
6
6
|
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/commands/kms/lifecycle.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmIzC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/commands/kms/lifecycle.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmIzC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,UAAQ,GAAG,IAAI,CAuCrF"}
|
|
@@ -3,7 +3,7 @@ import Table from 'cli-table3';
|
|
|
3
3
|
import { client } from '../../lib/client.js';
|
|
4
4
|
import * as output from '../../lib/output.js';
|
|
5
5
|
import { formatDate } from './helpers.js';
|
|
6
|
-
import { kmsKeysPath, kmsKeysQuery } from './routing.js';
|
|
6
|
+
import { kmsKeysPath, kmsKeysQuery, withKmsContext } from './routing.js';
|
|
7
7
|
// ============================================================================
|
|
8
8
|
// Command Implementations
|
|
9
9
|
// ============================================================================
|
|
@@ -95,33 +95,33 @@ async function listVersions(keyId, options) {
|
|
|
95
95
|
// ============================================================================
|
|
96
96
|
// Command Registration
|
|
97
97
|
// ============================================================================
|
|
98
|
-
export function registerLifecycleCommands(parent) {
|
|
98
|
+
export function registerLifecycleCommands(parent, asSuperadmin = false) {
|
|
99
99
|
// Rotate key
|
|
100
100
|
parent
|
|
101
101
|
.command('rotate <keyId>')
|
|
102
102
|
.description('Rotate a KMS key (create new version)')
|
|
103
103
|
.option('-t, --tenant <id>', 'Tenant ID (superadmin only — routes via /v1/superadmin/kms/keys)')
|
|
104
104
|
.option('--json', 'Output as JSON')
|
|
105
|
-
.action(rotateKey);
|
|
105
|
+
.action((keyId, options) => withKmsContext(asSuperadmin, () => rotateKey(keyId, options)));
|
|
106
106
|
// Enable key
|
|
107
107
|
parent
|
|
108
108
|
.command('enable <keyId>')
|
|
109
109
|
.description('Enable a disabled key')
|
|
110
110
|
.option('-t, --tenant <id>', 'Tenant ID (superadmin only — routes via /v1/superadmin/kms/keys)')
|
|
111
111
|
.option('--json', 'Output as JSON')
|
|
112
|
-
.action(enableKey);
|
|
112
|
+
.action((keyId, options) => withKmsContext(asSuperadmin, () => enableKey(keyId, options)));
|
|
113
113
|
// Disable key
|
|
114
114
|
parent
|
|
115
115
|
.command('disable <keyId>')
|
|
116
116
|
.description('Disable a key')
|
|
117
117
|
.option('-t, --tenant <id>', 'Tenant ID (superadmin only — routes via /v1/superadmin/kms/keys)')
|
|
118
118
|
.option('--json', 'Output as JSON')
|
|
119
|
-
.action(disableKey);
|
|
120
|
-
// List versions
|
|
119
|
+
.action((keyId, options) => withKmsContext(asSuperadmin, () => disableKey(keyId, options)));
|
|
120
|
+
// List versions (tenant-only on server; superadmin has no equivalent endpoint)
|
|
121
121
|
parent
|
|
122
122
|
.command('versions <keyId>')
|
|
123
123
|
.description('List key versions')
|
|
124
124
|
.option('--json', 'Output as JSON')
|
|
125
|
-
.action(listVersions);
|
|
125
|
+
.action((keyId, options) => withKmsContext(asSuperadmin, () => listVersions(keyId, options)));
|
|
126
126
|
}
|
|
127
127
|
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/commands/kms/lifecycle.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAQtC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAO9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/commands/kms/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run `fn` with the KMS admin-surface flag set to `value`. Restores the
|
|
3
|
+
* previous value on return.
|
|
4
|
+
*/
|
|
5
|
+
export declare function withKmsContext<T>(value: boolean, fn: () => Promise<T>): Promise<T>;
|
|
1
6
|
export declare function kmsKeysPath(explicitTenant: string | undefined, suffix?: string): string;
|
|
2
7
|
export declare function kmsKeysQuery(explicitTenant: string | undefined, extra?: Record<string, string | undefined>): string;
|
|
3
8
|
export declare function kmsIsAdminCall(explicitTenant: string | undefined): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/commands/kms/routing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/commands/kms/routing.ts"],"names":[],"mappings":"AAmCA;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAQxF;AAoBD,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,SAAK,GAAG,MAAM,CAGnF;AAED,wBAAgB,YAAY,CAC1B,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM,GAC7C,MAAM,CAQR;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE1E"}
|
|
@@ -3,9 +3,14 @@
|
|
|
3
3
|
* KMS HTTP path routing.
|
|
4
4
|
*
|
|
5
5
|
* The CLI talks to two different KMS surfaces depending on the caller:
|
|
6
|
-
* - Tenant principal
|
|
7
|
-
* - Superadmin
|
|
8
|
-
*
|
|
6
|
+
* - Tenant principal → /v1/kms/keys (tenant from JWT)
|
|
7
|
+
* - Superadmin → /v1/superadmin/kms/keys (server v1.39.0+)
|
|
8
|
+
*
|
|
9
|
+
* In v4.0.1 the discriminator is the command-registration context, passed
|
|
10
|
+
* explicitly via `asSuperadmin` from each handler. A superadmin running
|
|
11
|
+
* `znvault superadmin kms key list` (no `--tenant`) must route through
|
|
12
|
+
* the admin surface, because `/v1/kms/keys` rejects pure superadmin
|
|
13
|
+
* principals with "Superadmins must use /v1/superadmin/* routes".
|
|
9
14
|
*
|
|
10
15
|
* NOTE: KMS crypto ops (encrypt/decrypt/generate-data-key/re-encrypt) have
|
|
11
16
|
* NO superadmin counterpart by design (separation of duties). Those
|
|
@@ -14,10 +19,41 @@
|
|
|
14
19
|
*/
|
|
15
20
|
import { getAuthContext } from '../../lib/auth-context.js';
|
|
16
21
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
22
|
+
* Per-handler runtime flag set by the KMS command registration. The value
|
|
23
|
+
* is captured by a wrapping `withKmsContext()` that runs around each
|
|
24
|
+
* action so that handlers called from `znvault superadmin kms ...` always
|
|
25
|
+
* route to `/v1/superadmin/kms/*`, even when no `--tenant` is supplied.
|
|
26
|
+
*
|
|
27
|
+
* This is a synchronous mutex over the duration of a single handler call;
|
|
28
|
+
* Commander dispatches actions sequentially, so there is no interleaving
|
|
29
|
+
* concern in practice.
|
|
30
|
+
*/
|
|
31
|
+
let _asSuperadmin = false;
|
|
32
|
+
/**
|
|
33
|
+
* Run `fn` with the KMS admin-surface flag set to `value`. Restores the
|
|
34
|
+
* previous value on return.
|
|
35
|
+
*/
|
|
36
|
+
export async function withKmsContext(value, fn) {
|
|
37
|
+
const prev = _asSuperadmin;
|
|
38
|
+
_asSuperadmin = value;
|
|
39
|
+
try {
|
|
40
|
+
return await fn();
|
|
41
|
+
}
|
|
42
|
+
finally {
|
|
43
|
+
_asSuperadmin = prev;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Returns true when the request should route through the superadmin KMS
|
|
48
|
+
* surface. Triggered by either:
|
|
49
|
+
* - The active handler is wrapped with `withKmsContext(true, ...)` because
|
|
50
|
+
* it was registered under `znvault superadmin kms ...`, or
|
|
51
|
+
* - An explicit `--tenant` flag from a caller without their own tenant
|
|
52
|
+
* (i.e. a superadmin JWT) or a tenant user targeting a different tenant.
|
|
19
53
|
*/
|
|
20
54
|
function useAdminSurface(explicitTenant) {
|
|
55
|
+
if (_asSuperadmin)
|
|
56
|
+
return true;
|
|
21
57
|
if (explicitTenant === undefined)
|
|
22
58
|
return false;
|
|
23
59
|
const ctx = getAuthContext();
|
|
@@ -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);
|