vgscli 0.0.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.
@@ -0,0 +1,39 @@
1
+ import { AppConfigService } from '../config/app.config';
2
+ export declare enum VGSStorageEnum {
3
+ PERSISTENT = "PERSISTENT",
4
+ VOLATILE = "VOLATILE"
5
+ }
6
+ export declare enum VGSAliasFormat {
7
+ FPE_ACC_NUM_T_FOUR = "FPE_ACC_NUM_T_FOUR",
8
+ FPE_ALPHANUMERIC_ACC_NUM_T_FOUR = "FPE_ALPHANUMERIC_ACC_NUM_T_FOUR",
9
+ FPE_SIX_T_FOUR = "FPE_SIX_T_FOUR",
10
+ FPE_SSN_T_FOUR = "FPE_SSN_T_FOUR",
11
+ FPE_T_FOUR = "FPE_T_FOUR",
12
+ NUM_LENGTH_PRESERVING = "NUM_LENGTH_PRESERVING",
13
+ PFPT = "PFPT",
14
+ RAW_UUID = "RAW_UUID",
15
+ UUID = "UUID"
16
+ }
17
+ export interface VGSAliasCreateData {
18
+ value: string;
19
+ format: VGSAliasFormat;
20
+ storage?: VGSStorageEnum;
21
+ classifiers?: string[];
22
+ }
23
+ export interface VGSAlias {
24
+ format?: string;
25
+ storage?: string;
26
+ created_at?: string;
27
+ classifiers?: string[];
28
+ aliases: string[];
29
+ }
30
+ export declare class VGSAliasService {
31
+ private readonly appConfigService;
32
+ private vgs;
33
+ constructor(appConfigService: AppConfigService);
34
+ private initializeVGS;
35
+ createAlias(aliasData: VGSAliasCreateData[]): Promise<VGSAlias>;
36
+ getAlias(alias: string): Promise<VGSAlias>;
37
+ deleteAlias(alias: string): Promise<void>;
38
+ updateAlias(name: string, updateData: Pick<VGSAliasCreateData, 'classifiers'>): Promise<VGSAlias>;
39
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.VGSAliasService = exports.VGSAliasFormat = exports.VGSStorageEnum = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const api_client_1 = require("@vgs/api-client");
15
+ const app_config_1 = require("../config/app.config");
16
+ var VGSStorageEnum;
17
+ (function (VGSStorageEnum) {
18
+ VGSStorageEnum["PERSISTENT"] = "PERSISTENT";
19
+ VGSStorageEnum["VOLATILE"] = "VOLATILE";
20
+ })(VGSStorageEnum || (exports.VGSStorageEnum = VGSStorageEnum = {}));
21
+ var VGSAliasFormat;
22
+ (function (VGSAliasFormat) {
23
+ VGSAliasFormat["FPE_ACC_NUM_T_FOUR"] = "FPE_ACC_NUM_T_FOUR";
24
+ VGSAliasFormat["FPE_ALPHANUMERIC_ACC_NUM_T_FOUR"] = "FPE_ALPHANUMERIC_ACC_NUM_T_FOUR";
25
+ VGSAliasFormat["FPE_SIX_T_FOUR"] = "FPE_SIX_T_FOUR";
26
+ VGSAliasFormat["FPE_SSN_T_FOUR"] = "FPE_SSN_T_FOUR";
27
+ VGSAliasFormat["FPE_T_FOUR"] = "FPE_T_FOUR";
28
+ VGSAliasFormat["NUM_LENGTH_PRESERVING"] = "NUM_LENGTH_PRESERVING";
29
+ VGSAliasFormat["PFPT"] = "PFPT";
30
+ VGSAliasFormat["RAW_UUID"] = "RAW_UUID";
31
+ VGSAliasFormat["UUID"] = "UUID";
32
+ })(VGSAliasFormat || (exports.VGSAliasFormat = VGSAliasFormat = {}));
33
+ let VGSAliasService = class VGSAliasService {
34
+ appConfigService;
35
+ vgs;
36
+ constructor(appConfigService) {
37
+ this.appConfigService = appConfigService;
38
+ this.initializeVGS();
39
+ }
40
+ initializeVGS() {
41
+ const { username, password, host } = this.appConfigService.vgs;
42
+ this.vgs = new api_client_1.Aliases((0, api_client_1.config)(username, password, host));
43
+ }
44
+ async createAlias(aliasData) {
45
+ console.log('🔄 Creating VGS alias...');
46
+ try {
47
+ const result = (await this.vgs.redact(aliasData));
48
+ console.log('✅ VGS alias created successfully!');
49
+ return result;
50
+ }
51
+ catch (error) {
52
+ throw new Error(`Failed to create alias: ${error.message}`);
53
+ }
54
+ }
55
+ async getAlias(alias) {
56
+ console.log(`🔍 Fetching details for alias: ${alias}`);
57
+ try {
58
+ const result = (await this.vgs.reveal(alias));
59
+ console.log(`📋 Alias "${alias}" details retrieved successfully`);
60
+ return result;
61
+ }
62
+ catch (error) {
63
+ throw new Error(`Failed to fetch alias "${alias}": ${error.message}`);
64
+ }
65
+ }
66
+ async deleteAlias(alias) {
67
+ console.log(`🗑️ Deleting VGS alias: ${alias}`);
68
+ try {
69
+ await this.vgs.delete(alias);
70
+ console.log(`✅ Alias "${alias}" deleted successfully!`);
71
+ }
72
+ catch (error) {
73
+ throw new Error(`Failed to delete alias "${alias}": ${error.message}`);
74
+ }
75
+ }
76
+ async updateAlias(name, updateData) {
77
+ console.log(`🔄 Updating VGS alias: ${name}`);
78
+ try {
79
+ const updatedAlias = (await this.vgs.update(name, updateData));
80
+ console.log(`✅ Alias "${name}" updated successfully!`);
81
+ return updatedAlias;
82
+ }
83
+ catch (error) {
84
+ throw new Error(`Failed to update alias "${name}": ${error.message}`);
85
+ }
86
+ }
87
+ };
88
+ exports.VGSAliasService = VGSAliasService;
89
+ exports.VGSAliasService = VGSAliasService = __decorate([
90
+ (0, common_1.Injectable)(),
91
+ __metadata("design:paramtypes", [app_config_1.AppConfigService])
92
+ ], VGSAliasService);
93
+ //# sourceMappingURL=vgs-alias.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vgs-alias.service.js","sourceRoot":"","sources":["../../src/vgs/vgs-alias.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare class VGSModule {
2
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.VGSModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const config_1 = require("@nestjs/config");
12
+ const vgs_alias_service_1 = require("./vgs-alias.service");
13
+ const app_config_1 = require("../config/app.config");
14
+ let VGSModule = class VGSModule {
15
+ };
16
+ exports.VGSModule = VGSModule;
17
+ exports.VGSModule = VGSModule = __decorate([
18
+ (0, common_1.Module)({
19
+ imports: [config_1.ConfigModule],
20
+ providers: [vgs_alias_service_1.VGSAliasService, app_config_1.AppConfigService],
21
+ exports: [vgs_alias_service_1.VGSAliasService, app_config_1.AppConfigService],
22
+ })
23
+ ], VGSModule);
24
+ //# sourceMappingURL=vgs.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vgs.module.js","sourceRoot":"","sources":["../../src/vgs/vgs.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,2CAA8C;AAC9C,2DAAsD;AACtD,qDAAwD;AAOjD,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IALrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,qBAAY,CAAC;QACvB,SAAS,EAAE,CAAC,mCAAe,EAAE,6BAAgB,CAAC;QAC9C,OAAO,EAAE,CAAC,mCAAe,EAAE,6BAAgB,CAAC;KAC7C,CAAC;GACW,SAAS,CAAG"}
package/package.json ADDED
@@ -0,0 +1,96 @@
1
+ {
2
+ "name": "vgscli",
3
+ "version": "0.0.1",
4
+ "description": "A command-line tool for managing VGS aliases for tokenization",
5
+ "author": "",
6
+ "private": false,
7
+ "license": "MIT",
8
+ "main": "dist/main.js",
9
+ "bin": {
10
+ "vgscli": "dist/main.js"
11
+ },
12
+ "files": [
13
+ "dist/**/*",
14
+ "README.md"
15
+ ],
16
+ "keywords": [
17
+ "vgs",
18
+ "tokenization",
19
+ "alias",
20
+ "cli",
21
+ "security"
22
+ ],
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/rcermeno/vgscli.git"
26
+ },
27
+ "scripts": {
28
+ "build": "nest build",
29
+ "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
30
+ "start": "ts-node -r tsconfig-paths/register src/main.ts",
31
+ "start:prod": "node dist/main",
32
+ "start:dev": "nest start --watch",
33
+ "start:debug": "nest start --debug --watch",
34
+ "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
35
+ "test": "jest",
36
+ "test:watch": "jest --watch",
37
+ "test:cov": "jest --coverage",
38
+ "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
39
+ "test:e2e": "jest --config ./test/jest-e2e.json"
40
+ },
41
+ "dependencies": {
42
+ "@nestjs/common": "^11.0.1",
43
+ "@nestjs/config": "^4.0.2",
44
+ "@nestjs/core": "^11.0.1",
45
+ "@nestjs/platform-express": "^11.0.1",
46
+ "@vgs/api-client": "^0.0.33",
47
+ "joi": "^18.0.1",
48
+ "nest-commander": "^3.20.1",
49
+ "reflect-metadata": "^0.2.2",
50
+ "rxjs": "^7.8.1"
51
+ },
52
+ "devDependencies": {
53
+ "@eslint/eslintrc": "^3.2.0",
54
+ "@eslint/js": "^9.18.0",
55
+ "@nestjs/cli": "^11.0.0",
56
+ "@nestjs/schematics": "^11.0.0",
57
+ "@nestjs/testing": "^11.0.1",
58
+ "@swc/cli": "^0.6.0",
59
+ "@swc/core": "^1.10.7",
60
+ "@types/express": "^5.0.0",
61
+ "@types/jest": "^29.5.14",
62
+ "@types/node": "^22.10.7",
63
+ "@types/supertest": "^6.0.2",
64
+ "eslint": "^9.18.0",
65
+ "eslint-config-prettier": "^10.0.1",
66
+ "eslint-plugin-prettier": "^5.2.2",
67
+ "globals": "^16.0.0",
68
+ "jest": "^29.7.0",
69
+ "prettier": "^3.4.2",
70
+ "source-map-support": "^0.5.21",
71
+ "supertest": "^7.0.0",
72
+ "ts-jest": "^29.2.5",
73
+ "ts-loader": "^9.5.2",
74
+ "ts-node": "^10.9.2",
75
+ "tsconfig-paths": "^4.2.0",
76
+ "typescript": "^5.7.3",
77
+ "typescript-eslint": "^8.20.0"
78
+ },
79
+ "jest": {
80
+ "moduleFileExtensions": [
81
+ "js",
82
+ "json",
83
+ "ts"
84
+ ],
85
+ "rootDir": "src",
86
+ "testRegex": ".*\\.spec\\.ts$",
87
+ "transform": {
88
+ "^.+\\.(t|j)s$": "ts-jest"
89
+ },
90
+ "collectCoverageFrom": [
91
+ "**/*.(t|j)s"
92
+ ],
93
+ "coverageDirectory": "../coverage",
94
+ "testEnvironment": "node"
95
+ }
96
+ }