@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.
- package/.turbo/turbo-build.log +2 -2
- package/CHANGELOG.md +13 -0
- package/__mocks__/@ledgerhq/vault-common.ts +2 -0
- package/bin/__tests__/revoke.test.d.ts +2 -0
- package/bin/__tests__/revoke.test.d.ts.map +1 -0
- package/bin/__tests__/revoke.test.js +61 -0
- package/bin/__tests__/revoke.test.js.map +1 -0
- package/bin/commands/index.d.ts +29 -0
- package/bin/commands/index.d.ts.map +1 -1
- package/bin/commands/index.js +2 -0
- package/bin/commands/index.js.map +1 -1
- package/bin/commands/revoke.d.ts +40 -0
- package/bin/commands/revoke.d.ts.map +1 -0
- package/bin/commands/revoke.js +80 -0
- package/bin/commands/revoke.js.map +1 -0
- package/package.json +2 -2
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
@ledgerhq/vault-cli:build: cache hit, replaying output
|
|
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.
|
|
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
|
@@ -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 @@
|
|
|
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"}
|
package/bin/commands/index.d.ts
CHANGED
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,wBAkCE"}
|
package/bin/commands/index.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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",
|