@ledgerhq/vault-cli 1.15.0 → 1.16.1

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.
@@ -1,5 +1,5 @@
1
- @ledgerhq/vault-cli:build: cache hit, replaying output 16bff0e5826675b6
1
+ @ledgerhq/vault-cli:build: cache hit, replaying output 9aaba8da41e8022a
2
2
  @ledgerhq/vault-cli:build:
3
- @ledgerhq/vault-cli:build: > @ledgerhq/vault-cli@1.15.0 build /home/runner/work/vault-ts/vault-ts/apps/cli
3
+ @ledgerhq/vault-cli:build: > @ledgerhq/vault-cli@1.16.1 build /home/runner/work/vault-ts/vault-ts/apps/cli
4
4
  @ledgerhq/vault-cli:build: > tsc && chmod +x bin/index.js
5
5
  @ledgerhq/vault-cli:build:
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @ledgerhq/vault-cli
2
2
 
3
+ ## 1.16.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [140d24c]
8
+ - @ledgerhq/vault-common@1.18.0
9
+
10
+ ## 1.16.0
11
+
12
+ ### Minor Changes
13
+
14
+ - 6be93c3: Add revoke command
15
+
3
16
  ## 1.15.0
4
17
 
5
18
  ### Minor Changes
@@ -133,12 +133,14 @@ export const createDevicesPool = jest.fn().mockReturnValue({
133
133
  connectSocket: jest.fn(),
134
134
  onEvent: jest.fn(),
135
135
  rejectRequest: jest.fn(),
136
+ post: jest.fn(),
136
137
  }),
137
138
  getUserID: jest.fn().mockReturnValue("userID"),
138
139
  getOnboardingAdminDevices: jest.fn().mockReturnValue([
139
140
  ["Admin 1", 4],
140
141
  ["Admin 2", 5],
141
142
  ]),
143
+ runWithQuorum: jest.fn(),
142
144
  });
143
145
  export const genSeed = jest.fn();
144
146
 
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=revoke.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revoke.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/revoke.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const revoke_1 = require("../commands/revoke");
13
+ const test_utils_1 = require("./test-utils");
14
+ const options = {
15
+ command: "user",
16
+ id: 10,
17
+ device: 4,
18
+ salt: "",
19
+ gate: "<gate>",
20
+ noApproval: false,
21
+ };
22
+ describe("revoke", () => {
23
+ beforeEach(() => {
24
+ jest.spyOn(console, "log").mockImplementation();
25
+ });
26
+ afterEach(() => {
27
+ jest.clearAllMocks();
28
+ });
29
+ it("should revoke user", () => __awaiter(void 0, void 0, void 0, function* () {
30
+ const pool = (0, test_utils_1.createTestDevicesPool)();
31
+ const userDevice = yield pool.login(options.device);
32
+ yield (0, revoke_1.revokeEntity)(options);
33
+ expect(userDevice.post).toHaveBeenCalledWith("/requests", {
34
+ type: "REVOKE_USER",
35
+ user_id: options.id,
36
+ });
37
+ expect(pool.runWithQuorum).toHaveBeenCalled();
38
+ }));
39
+ it("should revoke group", () => __awaiter(void 0, void 0, void 0, function* () {
40
+ const pool = (0, test_utils_1.createTestDevicesPool)();
41
+ const userDevice = yield pool.login(options.device);
42
+ const opts = Object.assign(Object.assign({}, options), { command: "group" });
43
+ yield (0, revoke_1.revokeEntity)(opts);
44
+ expect(userDevice.post).toHaveBeenCalledWith("/requests", {
45
+ type: "REVOKE_GROUP",
46
+ group_id: opts.id,
47
+ });
48
+ expect(pool.runWithQuorum).toHaveBeenCalled();
49
+ }));
50
+ it("should revoke without approvals", () => __awaiter(void 0, void 0, void 0, function* () {
51
+ const pool = (0, test_utils_1.createTestDevicesPool)();
52
+ const userDevice = yield pool.login(options.device);
53
+ yield (0, revoke_1.revokeEntity)(Object.assign(Object.assign({}, options), { noApproval: true }));
54
+ expect(userDevice.post).toHaveBeenCalledWith("/requests", {
55
+ type: "REVOKE_USER",
56
+ user_id: options.id,
57
+ });
58
+ expect(pool.runWithQuorum).not.toHaveBeenCalled();
59
+ }));
60
+ });
61
+ //# sourceMappingURL=revoke.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revoke.test.js","sourceRoot":"","sources":["../../src/__tests__/revoke.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAAkD;AAElD,6CAAqD;AAErD,MAAM,OAAO,GAAkB;IAC7B,OAAO,EAAE,MAAM;IACf,EAAE,EAAE,EAAE;IACN,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAS,EAAE;QAClC,MAAM,IAAI,GAAG,IAAA,kCAAqB,GAAE,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpD,MAAM,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC;QAE5B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE;YACxD,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,OAAO,CAAC,EAAE;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAS,EAAE;QACnC,MAAM,IAAI,GAAG,IAAA,kCAAqB,GAAE,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpD,MAAM,IAAI,mCAAuB,OAAO,KAAE,OAAO,EAAE,OAAO,GAAE,CAAC;QAC7D,MAAM,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE;YACxD,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,IAAI,CAAC,EAAE;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAS,EAAE;QAC/C,MAAM,IAAI,GAAG,IAAA,kCAAqB,GAAE,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpD,MAAM,IAAA,qBAAY,kCAAM,OAAO,KAAE,UAAU,EAAE,IAAI,IAAG,CAAC;QAErD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE;YACxD,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,OAAO,CAAC,EAAE;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACpD,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -590,6 +590,35 @@ declare const _default: {
590
590
  type: NumberConstructor;
591
591
  })[];
592
592
  run: (options: import("./approve").ApproveOptions) => Promise<void>;
593
+ } | {
594
+ command: string;
595
+ description: string;
596
+ options: ({
597
+ name: string;
598
+ type: BooleanConstructor;
599
+ description: string;
600
+ } | {
601
+ name: string;
602
+ description: string;
603
+ type: StringConstructor;
604
+ } | {
605
+ name: string;
606
+ alias: string;
607
+ type: NumberConstructor;
608
+ description: string;
609
+ defaultValue: number;
610
+ })[];
611
+ subCommands: {
612
+ command: string;
613
+ description: string;
614
+ options: {
615
+ name: string;
616
+ type: NumberConstructor;
617
+ description: string;
618
+ required: boolean;
619
+ }[];
620
+ run: (opts: import("./revoke").RevokeOptions) => Promise<void>;
621
+ }[];
593
622
  } | {
594
623
  command: string;
595
624
  positionals: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA,wBAiCE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,wBAkCE"}
@@ -28,6 +28,7 @@ const recipe_1 = __importDefault(require("./recipe"));
28
28
  const registerMigratedUsers_1 = __importDefault(require("./registerMigratedUsers"));
29
29
  const reject_1 = __importDefault(require("./reject"));
30
30
  const restoreCompartment_1 = __importDefault(require("./restoreCompartment"));
31
+ const revoke_1 = __importDefault(require("./revoke"));
31
32
  const send_1 = __importDefault(require("./send"));
32
33
  const setQuorum_1 = __importDefault(require("./setQuorum"));
33
34
  const wipe_1 = __importDefault(require("./wipe"));
@@ -90,6 +91,7 @@ exports.default = {
90
91
  bridge_1.default,
91
92
  approve_1.default,
92
93
  reject_1.default,
94
+ revoke_1.default,
93
95
  apdu_1.default,
94
96
  getMVInstances_1.default,
95
97
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;AAAA,kDAAiC;AACjC,wDAAuC;AACvC,4EAA2D;AAC3D,kDAAiC;AACjC,sDAAqC;AACrC,sDAAqC;AACrC,sDAAqC;AACrC,wDAAuC;AACvC,oDAAmC;AACnC,sDAAqC;AACrC,oDAAmC;AACnC,gDAA+B;AAC/B,kEAAiD;AACjD,sEAAqD;AACrD,0DAAyC;AACzC,4DAA2C;AAC3C,sDAAqC;AACrC,wDAAuC;AACvC,wDAAuC;AACvC,oDAAmC;AACnC,wDAAuC;AACvC,sDAAqC;AACrC,oFAAmE;AACnE,sDAAqC;AACrC,8EAA6D;AAC7D,kDAAiC;AACjC,4DAA2C;AAC3C,kDAAiC;AAKjC,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE;YACP,uDAAuD;YACvD,EAAE;YACF,yCAAyC;SAC1C;KACF;CACF,CAAC;AAEF,MAAM,OAAO,GAAG;IACd;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,sBAAsB;KACpC;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,WAAW;KACzB;CACF,CAAC;AAEF,kBAAe;IACb,IAAI;IACJ,OAAO;IACP,WAAW,EAAE;QACX,iBAAc;QACd,cAAW;QACX,gBAAa;QACb,cAAW;QACX,gBAAa;QACb,iBAAc;QACd,gBAAa;QACb,mBAAgB;QAChB,aAAU;QACV,eAAY;QACZ,gBAAa;QACb,sBAAmB;QACnB,mBAAgB;QAChB,2BAAwB;QACxB,4BAAyB;QACzB,iBAAc;QACd,+BAA4B;QAC5B,gBAAa;QACb,kBAAe;QACf,eAAY;QACZ,cAAW;QACX,iBAAc;QACd,eAAY;QACZ,gBAAa;QACb,iBAAc;QACd,gBAAa;QACb,cAAW;QACX,wBAAqB;KACtB;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;AAAA,kDAAiC;AACjC,wDAAuC;AACvC,4EAA2D;AAC3D,kDAAiC;AACjC,sDAAqC;AACrC,sDAAqC;AACrC,sDAAqC;AACrC,wDAAuC;AACvC,oDAAmC;AACnC,sDAAqC;AACrC,oDAAmC;AACnC,gDAA+B;AAC/B,kEAAiD;AACjD,sEAAqD;AACrD,0DAAyC;AACzC,4DAA2C;AAC3C,sDAAqC;AACrC,wDAAuC;AACvC,wDAAuC;AACvC,oDAAmC;AACnC,wDAAuC;AACvC,sDAAqC;AACrC,oFAAmE;AACnE,sDAAqC;AACrC,8EAA6D;AAC7D,sDAAqC;AACrC,kDAAiC;AACjC,4DAA2C;AAC3C,kDAAiC;AAKjC,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE;YACP,uDAAuD;YACvD,EAAE;YACF,yCAAyC;SAC1C;KACF;CACF,CAAC;AAEF,MAAM,OAAO,GAAG;IACd;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,sBAAsB;KACpC;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,WAAW;KACzB;CACF,CAAC;AAEF,kBAAe;IACb,IAAI;IACJ,OAAO;IACP,WAAW,EAAE;QACX,iBAAc;QACd,cAAW;QACX,gBAAa;QACb,cAAW;QACX,gBAAa;QACb,iBAAc;QACd,gBAAa;QACb,mBAAgB;QAChB,aAAU;QACV,eAAY;QACZ,gBAAa;QACb,sBAAmB;QACnB,mBAAgB;QAChB,2BAAwB;QACxB,4BAAyB;QACzB,iBAAc;QACd,+BAA4B;QAC5B,gBAAa;QACb,kBAAe;QACf,eAAY;QACZ,cAAW;QACX,iBAAc;QACd,eAAY;QACZ,gBAAa;QACb,iBAAc;QACd,gBAAa;QACb,gBAAa;QACb,cAAW;QACX,wBAAqB;KACtB;CACF,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { GateOptions } from "../types";
2
+ export declare type RevokeOptions = GateOptions & {
3
+ command: "user" | "group";
4
+ device: number;
5
+ id: number;
6
+ noApproval: boolean;
7
+ };
8
+ export declare const revokeEntity: (opts: RevokeOptions) => Promise<void>;
9
+ declare const _default: {
10
+ command: string;
11
+ description: string;
12
+ options: ({
13
+ name: string;
14
+ type: BooleanConstructor;
15
+ description: string;
16
+ } | {
17
+ name: string;
18
+ description: string;
19
+ type: StringConstructor;
20
+ } | {
21
+ name: string;
22
+ alias: string;
23
+ type: NumberConstructor;
24
+ description: string;
25
+ defaultValue: number;
26
+ })[];
27
+ subCommands: {
28
+ command: string;
29
+ description: string;
30
+ options: {
31
+ name: string;
32
+ type: NumberConstructor;
33
+ description: string;
34
+ required: boolean;
35
+ }[];
36
+ run: (opts: RevokeOptions) => Promise<void>;
37
+ }[];
38
+ };
39
+ export default _default;
40
+ //# sourceMappingURL=revoke.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revoke.d.ts","sourceRoot":"","sources":["../../src/commands/revoke.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,oBAAY,aAAa,GAAG,WAAW,GAAG;IACxC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,YAAY,SAAgB,aAAa,KAAG,QAAQ,IAAI,CAsBpE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,wBAwCE"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.revokeEntity = void 0;
16
+ const vault_common_1 = require("@ledgerhq/vault-common");
17
+ const deviceOption_1 = __importDefault(require("../deviceOption"));
18
+ const gateOptions_1 = __importDefault(require("../gateOptions"));
19
+ const logger_1 = __importDefault(require("../logger"));
20
+ const revokeEntity = (opts) => __awaiter(void 0, void 0, void 0, function* () {
21
+ const pool = (0, vault_common_1.createDevicesPool)(Object.assign(Object.assign({}, opts), { deviceAPIURL: opts.deviceAPI }));
22
+ const userDevice = yield pool.login(opts.device);
23
+ let request;
24
+ if (opts.command === "user") {
25
+ logger_1.default.info(`Revoking user ${opts.id}`);
26
+ request = yield userDevice.post("/requests", { type: "REVOKE_USER", user_id: opts.id });
27
+ }
28
+ if (opts.command === "group") {
29
+ logger_1.default.info(`Revoking group ${opts.id}`);
30
+ request = yield userDevice.post("/requests", { type: "REVOKE_GROUP", group_id: opts.id });
31
+ }
32
+ if (opts.noApproval)
33
+ return;
34
+ logger_1.default.info("Approving request...");
35
+ yield pool.getOnboardingAdminDevices();
36
+ yield pool.runWithQuorum((admin) => admin.approveRequest(request));
37
+ });
38
+ exports.revokeEntity = revokeEntity;
39
+ exports.default = {
40
+ command: "revoke",
41
+ description: "Revoke user or group",
42
+ options: [
43
+ ...gateOptions_1.default,
44
+ deviceOption_1.default,
45
+ {
46
+ name: "noApproval",
47
+ type: Boolean,
48
+ description: "Create the request without approving it",
49
+ },
50
+ ],
51
+ subCommands: [
52
+ {
53
+ command: "user",
54
+ description: "Revoke user",
55
+ options: [
56
+ {
57
+ name: "id",
58
+ type: Number,
59
+ description: "User ID",
60
+ required: true,
61
+ },
62
+ ],
63
+ run: exports.revokeEntity,
64
+ },
65
+ {
66
+ command: "group",
67
+ description: "Revoke group",
68
+ options: [
69
+ {
70
+ name: "id",
71
+ type: Number,
72
+ description: "Group ID",
73
+ required: true,
74
+ },
75
+ ],
76
+ run: exports.revokeEntity,
77
+ },
78
+ ],
79
+ };
80
+ //# sourceMappingURL=revoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revoke.js","sourceRoot":"","sources":["../../src/commands/revoke.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAA2D;AAE3D,mEAA2C;AAC3C,iEAAyC;AACzC,uDAA+B;AAUxB,MAAM,YAAY,GAAG,CAAO,IAAmB,EAAiB,EAAE;IACvE,MAAM,IAAI,GAAG,IAAA,gCAAiB,kCAAM,IAAI,KAAE,YAAY,EAAE,IAAI,CAAC,SAAS,IAAG,CAAC;IAC1E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjD,IAAI,OAAY,CAAC;IACjB,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;QAC3B,gBAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;KACzF;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;QAC5B,gBAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;KAC3F;IAED,IAAI,IAAI,CAAC,UAAU;QAAE,OAAO;IAE5B,gBAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEpC,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAEvC,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,CAAC,CAAA,CAAC;AAtBW,QAAA,YAAY,gBAsBvB;AAEF,kBAAe;IACb,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,sBAAsB;IACnC,OAAO,EAAE;QACP,GAAG,qBAAW;QACd,sBAAY;QACZ;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,yCAAyC;SACvD;KACF;IACD,WAAW,EAAE;QACX;YACE,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,SAAS;oBACtB,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,GAAG,EAAE,oBAAY;SAClB;QACD;YACE,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,UAAU;oBACvB,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,GAAG,EAAE,oBAAY;SAClB;KACF;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/vault-cli",
3
- "version": "1.15.0",
3
+ "version": "1.16.1",
4
4
  "description": "A various utility command-line for Vault development",
5
5
  "homepage": "https://github.com/LedgerHQ/vault-ts",
6
6
  "license": "BSD-2-Clause",
@@ -18,7 +18,7 @@
18
18
  "@ledgerhq/cryptoassets": "^6.28.2",
19
19
  "@ledgerhq/hw-transport-node-hid": "^6.24.1",
20
20
  "@ledgerhq/live-common-stub": "1.4.6",
21
- "@ledgerhq/vault-common": "1.17.0",
21
+ "@ledgerhq/vault-common": "1.18.0",
22
22
  "axios": "^0.21.0",
23
23
  "bignumber.js": "^9.0.1",
24
24
  "body-parser": "^1.19.0",