vgscli 0.0.2 → 0.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/README.md +27 -1
- package/dist/commands/vgs-alias.command.d.ts +4 -0
- package/dist/commands/vgs-alias.command.js +40 -11
- package/dist/commands/vgs-alias.command.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/vgs/vgs-alias.service.d.ts +4 -0
- package/dist/vgs/vgs-alias.service.js +28 -5
- package/dist/vgs/vgs-alias.service.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ export VGS_USERNAME=your_vgs_username
|
|
|
31
31
|
export VGS_PASSWORD=your_vgs_password
|
|
32
32
|
|
|
33
33
|
# Optional - Your VGS vault host URL
|
|
34
|
-
export VGS_HOST=https://api.sandbox.
|
|
34
|
+
export VGS_HOST=https://api.sandbox.verygoodvault.com
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
## Usage
|
|
@@ -57,6 +57,32 @@ vgscli alias show --alias="my-alias"
|
|
|
57
57
|
**Options:**
|
|
58
58
|
- `--alias <alias>` - Alias name to show (required)
|
|
59
59
|
|
|
60
|
+
### Delete Alias
|
|
61
|
+
|
|
62
|
+
Removes the token from the vault: it can no longer be revealed. Useful to simulate an
|
|
63
|
+
expired token (for example a CVV alias) against a sandbox vault.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
vgscli alias delete --alias="tok_sandbox_xxx" --verify
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Options:**
|
|
70
|
+
- `--alias <alias>` - Alias to delete (required, there is no default)
|
|
71
|
+
- `--verify` - After deleting, check that the alias can no longer be revealed
|
|
72
|
+
- `--force` - Needed when `VGS_HOST` is not a sandbox host
|
|
73
|
+
|
|
74
|
+
Errors show the HTTP status and body of the VGS API (401 credentials, 403 permissions,
|
|
75
|
+
404 unknown alias).
|
|
76
|
+
|
|
77
|
+
### Makefile
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
make vgsalias.show alias=tok_sandbox_xxx
|
|
81
|
+
make vgsalias.delete alias=tok_sandbox_xxx # deletes and verifies
|
|
82
|
+
make vgsalias.delete alias=tok_live_xxx force=1 # non-sandbox hosts
|
|
83
|
+
make vgsalias.expire alias=tok_sandbox_xxx # same, to simulate an expired CVV
|
|
84
|
+
```
|
|
85
|
+
|
|
60
86
|
## Examples
|
|
61
87
|
|
|
62
88
|
```bash
|
|
@@ -6,6 +6,8 @@ interface VGSAliasCommandOptions {
|
|
|
6
6
|
value?: string;
|
|
7
7
|
alias?: string;
|
|
8
8
|
classifiers?: string[];
|
|
9
|
+
force?: boolean;
|
|
10
|
+
verify?: boolean;
|
|
9
11
|
}
|
|
10
12
|
export declare class VGSAliasCommand extends CommandRunner {
|
|
11
13
|
private readonly vgsAliasService;
|
|
@@ -19,5 +21,7 @@ export declare class VGSAliasCommand extends CommandRunner {
|
|
|
19
21
|
parseStorage(val: string): string;
|
|
20
22
|
parseClassifiers(val: string): string;
|
|
21
23
|
parseAlias(val: string): string;
|
|
24
|
+
parseForce(): boolean;
|
|
25
|
+
parseVerify(): boolean;
|
|
22
26
|
}
|
|
23
27
|
export {};
|
|
@@ -33,7 +33,7 @@ let VGSAliasCommand = class VGSAliasCommand extends nest_commander_1.CommandRunn
|
|
|
33
33
|
break;
|
|
34
34
|
default:
|
|
35
35
|
console.error(`Unknown action: ${action}`);
|
|
36
|
-
console.log('Available actions: create,
|
|
36
|
+
console.log('Available actions: create, delete, show');
|
|
37
37
|
process.exit(1);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -62,22 +62,27 @@ let VGSAliasCommand = class VGSAliasCommand extends nest_commander_1.CommandRunn
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
async deleteAlias(options) {
|
|
65
|
-
const alias = options?.alias
|
|
65
|
+
const alias = options?.alias;
|
|
66
66
|
if (!alias) {
|
|
67
|
-
throw new Error('Alias
|
|
67
|
+
throw new Error('Alias is required for deletion. Use --alias option.');
|
|
68
68
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
const host = this.vgsAliasService.host;
|
|
70
|
+
if (!host.includes('sandbox') && !options?.force) {
|
|
71
|
+
throw new Error(`Host ${host} does not look like a sandbox vault. Use --force to delete anyway.`);
|
|
72
72
|
}
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
await this.vgsAliasService.deleteAlias(alias);
|
|
74
|
+
if (options?.verify) {
|
|
75
|
+
const stillThere = await this.vgsAliasService.aliasExists(alias);
|
|
76
|
+
if (stillThere) {
|
|
77
|
+
throw new Error(`Alias "${alias}" can still be revealed after deleting it.`);
|
|
78
|
+
}
|
|
79
|
+
console.log(`🔎 Verified: alias "${alias}" can no longer be revealed.`);
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
82
|
async showAlias(options) {
|
|
78
|
-
const alias = options?.alias
|
|
83
|
+
const alias = options?.alias;
|
|
79
84
|
if (!alias) {
|
|
80
|
-
throw new Error('Alias
|
|
85
|
+
throw new Error('Alias is required. Use --alias option.');
|
|
81
86
|
}
|
|
82
87
|
try {
|
|
83
88
|
const aliasData = await this.vgsAliasService.getAlias(alias);
|
|
@@ -104,6 +109,12 @@ let VGSAliasCommand = class VGSAliasCommand extends nest_commander_1.CommandRunn
|
|
|
104
109
|
parseAlias(val) {
|
|
105
110
|
return val;
|
|
106
111
|
}
|
|
112
|
+
parseForce() {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
parseVerify() {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
107
118
|
};
|
|
108
119
|
exports.VGSAliasCommand = VGSAliasCommand;
|
|
109
120
|
__decorate([
|
|
@@ -151,13 +162,31 @@ __decorate([
|
|
|
151
162
|
__metadata("design:paramtypes", [String]),
|
|
152
163
|
__metadata("design:returntype", String)
|
|
153
164
|
], VGSAliasCommand.prototype, "parseAlias", null);
|
|
165
|
+
__decorate([
|
|
166
|
+
(0, nest_commander_1.Option)({
|
|
167
|
+
flags: '--force',
|
|
168
|
+
description: `Allow deleting on a host that is not a sandbox (default host: ${vgs_1.DEFAULT_VGS_HOST})`,
|
|
169
|
+
}),
|
|
170
|
+
__metadata("design:type", Function),
|
|
171
|
+
__metadata("design:paramtypes", []),
|
|
172
|
+
__metadata("design:returntype", Boolean)
|
|
173
|
+
], VGSAliasCommand.prototype, "parseForce", null);
|
|
174
|
+
__decorate([
|
|
175
|
+
(0, nest_commander_1.Option)({
|
|
176
|
+
flags: '--verify',
|
|
177
|
+
description: 'After deleting, check that the alias can no longer be revealed',
|
|
178
|
+
}),
|
|
179
|
+
__metadata("design:type", Function),
|
|
180
|
+
__metadata("design:paramtypes", []),
|
|
181
|
+
__metadata("design:returntype", Boolean)
|
|
182
|
+
], VGSAliasCommand.prototype, "parseVerify", null);
|
|
154
183
|
exports.VGSAliasCommand = VGSAliasCommand = __decorate([
|
|
155
184
|
(0, nest_commander_1.Command)({
|
|
156
185
|
name: 'alias',
|
|
157
186
|
description: 'Manage VGS aliases for tokenization',
|
|
158
187
|
arguments: '[action]',
|
|
159
188
|
argsDescription: {
|
|
160
|
-
action: 'Action to perform: create,
|
|
189
|
+
action: 'Action to perform: create, delete, show (default: create)',
|
|
161
190
|
},
|
|
162
191
|
}),
|
|
163
192
|
__metadata("design:paramtypes", [vgs_1.VGSAliasService])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vgs-alias.command.js","sourceRoot":"","sources":["../../src/commands/vgs-alias.command.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"vgs-alias.command.js","sourceRoot":"","sources":["../../src/commands/vgs-alias.command.ts"],"names":[],"mappings":"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"}
|