@affinidi/cli 1.52.2 → 1.53.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.
@@ -26,6 +26,4 @@ export default class GenerateApplication extends Command {
26
26
  };
27
27
  run(): Promise<void>;
28
28
  catch(error: CliError): Promise<void>;
29
- private setUpProject;
30
- private download;
31
29
  }
@@ -1,20 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defaultAppName = exports.UseCasesAppNames = exports.Platforms = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const core_1 = require("@oclif/core");
6
5
  const http_status_codes_1 = require("http-status-codes");
7
- const path_1 = tslib_1.__importDefault(require("path"));
8
- const typedVaultService_1 = require("../../services/vault/typedVaultService");
9
- const services_1 = require("../../services");
10
6
  const errors_1 = require("../../errors");
11
- const texts_1 = require("../../render/texts");
12
- const user_management_1 = require("../../services/user-management");
13
- const analytics_1 = require("../../services/analytics");
14
7
  const authentication_1 = require("../../middleware/authentication");
15
8
  const display_1 = require("../../middleware/display");
16
9
  const config_1 = require("../../services/config");
17
10
  const helpers_1 = require("../../wizard/helpers");
11
+ const genApp_1 = require("../../exposedFunctions/genApp");
12
+ const typedVaultService_1 = require("../../services/vault/typedVaultService");
18
13
  var Platforms;
19
14
  (function (Platforms) {
20
15
  Platforms["web"] = "web";
@@ -27,76 +22,24 @@ var UseCasesAppNames;
27
22
  UseCasesAppNames["certificationAndVerification"] = "certification-and-verification";
28
23
  UseCasesAppNames["kycKyb"] = "kyc-kyb";
29
24
  })(UseCasesAppNames = exports.UseCasesAppNames || (exports.UseCasesAppNames = {}));
30
- const UseCaseSources = {
31
- 'portable-reputation': 'NOT IMPLEMENTED YET',
32
- 'access-without-ownership-of-data': 'NOT IMPLEMENTED YET',
33
- 'certification-and-verification': 'https://github.com/affinidi/elements-reference-app-frontend.git',
34
- 'kyc-kyb': 'NOT IMPLEMENTED YET',
35
- };
36
25
  exports.defaultAppName = 'my-app';
37
26
  class GenerateApplication extends core_1.Command {
38
27
  async run() {
39
- var _a, _b;
40
28
  const { flags } = await this.parse(GenerateApplication);
41
29
  const { name, platform, 'use-case': useCase, 'with-proxy': withProxy } = flags;
42
30
  if (!(0, authentication_1.isAuthenticated)()) {
43
31
  throw new errors_1.CliError(errors_1.Unauthorized, http_status_codes_1.StatusCodes.UNAUTHORIZED, 'generator');
44
32
  }
45
- const userId = (_b = (_a = (0, user_management_1.getSession)()) === null || _a === void 0 ? void 0 : _a.account) === null || _b === void 0 ? void 0 : _b.userId;
46
- const analyticsData = {
47
- name: 'APPLICATION_GENERATION_STARTED',
48
- category: 'APPLICATION',
49
- component: 'Cli',
50
- uuid: userId,
51
- metadata: {
52
- appName: name,
53
- commandId: 'affinidi.generate-application',
54
- ...(0, analytics_1.generateUserMetadata)(userId),
55
- },
56
- };
57
- if (platform === Platforms.mobile) {
58
- throw new errors_1.CliError(errors_1.NotSupportedPlatform, 0, 'reference-app');
59
- }
60
- core_1.CliUx.ux.action.start('Generating an application');
61
- try {
62
- switch (useCase) {
63
- case UseCasesAppNames.certificationAndVerification:
64
- await this.download(UseCaseSources[useCase], name);
65
- await analytics_1.analyticsService.eventsControllerSend(analyticsData);
66
- break;
67
- case UseCasesAppNames.accessWithoutOwnershipOfData:
68
- case UseCasesAppNames.portableReputation:
69
- case UseCasesAppNames.kycKyb:
70
- (0, display_1.displayOutput)({ itemToDisplay: 'Not implemented yet', flag: flags.output });
71
- break;
72
- default:
73
- throw new errors_1.CliError(errors_1.InvalidUseCase, 0, 'reference-app');
74
- }
75
- }
76
- catch (error) {
77
- throw new errors_1.CliError(`Failed to generate an application: ${error.message}`, 0, 'reference-app');
78
- }
79
- try {
80
- if (withProxy) {
81
- await this.download('https://github.com/affinidi/elements-reference-app-backend.git', `${name}-backend`);
82
- }
83
- }
84
- catch (error) {
85
- (0, display_1.displayOutput)({
86
- itemToDisplay: `Failed to generate an application: ${error.message}`,
87
- flag: flags.output,
88
- err: true,
89
- });
90
- return;
91
- }
92
- await this.setUpProject(name, withProxy);
93
- analyticsData.name = 'APPLICATION_GENERATION_COMPLETED';
94
- await analytics_1.analyticsService.eventsControllerSend(analyticsData);
95
- core_1.CliUx.ux.action.stop('\nApplication generated');
96
- const appPath = path_1.default.resolve(`${process.cwd()}/${name}`);
97
- (0, display_1.displayOutput)({
98
- itemToDisplay: (0, texts_1.buildGeneratedAppNextStepsMessage)(name, appPath, withProxy),
99
- flag: flags.output,
33
+ const { apiKey: { apiKeyHash }, wallet: { did }, project: { projectId }, } = typedVaultService_1.vaultService.getActiveProject();
34
+ await (0, genApp_1.generateApplication)({
35
+ platform,
36
+ name,
37
+ output: flags.output,
38
+ use_case: useCase,
39
+ withProxy,
40
+ apiKey: apiKeyHash,
41
+ projectDid: did,
42
+ projectId,
100
43
  });
101
44
  }
102
45
  async catch(error) {
@@ -117,63 +60,6 @@ class GenerateApplication extends core_1.Command {
117
60
  (0, display_1.displayOutput)(optionsDisplay);
118
61
  }
119
62
  }
120
- async setUpProject(name, withProxy) {
121
- const activeProject = typedVaultService_1.vaultService.getActiveProject();
122
- const activeProjectApiKey = activeProject.apiKey.apiKeyHash;
123
- const activeProjectDid = activeProject.wallet.did;
124
- const activeProjectId = activeProject.project.projectId;
125
- const { flags } = await this.parse(GenerateApplication);
126
- if (!activeProjectApiKey || !activeProjectDid || !activeProjectId) {
127
- throw Error(errors_1.Unauthorized);
128
- }
129
- (0, display_1.displayOutput)({ itemToDisplay: `Setting up the project`, flag: flags.output });
130
- try {
131
- if (withProxy) {
132
- services_1.Writer.write(path_1.default.join(name, '.env'), [
133
- 'REACT_APP_CLOUD_WALLET_URL=http://localhost:8080/cloud-wallet',
134
- 'REACT_APP_VERIFIER_URL=http://localhost:8080/affinity-verifier',
135
- 'REACT_APP_USER_MANAGEMENT_URL=http://localhost:8080/user-management',
136
- 'REACT_APP_ISSUANCE_URL=http://localhost:8080/console-vc-issuance',
137
- ]);
138
- services_1.Writer.write(path_1.default.join(`${name}-backend`, '.env'), [
139
- 'HOST=127.0.0.1',
140
- 'PORT=8080',
141
- 'NODE_ENV=dev',
142
- 'ENVIRONMENT=development',
143
- 'FRONTEND_HOST=http://localhost:3000',
144
- `API_KEY_HASH=${activeProjectApiKey}`,
145
- `ISSUER_DID=${activeProjectDid}`,
146
- `PROJECT_ID=${activeProjectId}`,
147
- ]);
148
- return;
149
- }
150
- services_1.Writer.write(path_1.default.join(name, '.env'), [
151
- 'REACT_APP_CLOUD_WALLET_URL=https://cloud-wallet-api.prod.affinity-project.org',
152
- 'REACT_APP_VERIFIER_URL=https://affinity-verifier.prod.affinity-project.org',
153
- 'REACT_APP_USER_MANAGEMENT_URL=https://console-user-management.apse1.affinidi.com',
154
- 'REACT_APP_ISSUANCE_URL=https://console-vc-issuance.apse1.affinidi.com',
155
- 'REACT_APP_IAM_URL=https://affinidi-iam.apse1.affinidi.com',
156
- `REACT_APP_API_KEY=${activeProjectApiKey}`,
157
- `REACT_APP_PROJECT_DID=${activeProjectDid}`,
158
- `REACT_APP_PROJECT_ID=${activeProjectId}`,
159
- ]);
160
- }
161
- catch (error) {
162
- (0, display_1.displayOutput)({
163
- itemToDisplay: `Failed to set up project: ${error.message}`,
164
- flag: flags.output,
165
- err: true,
166
- });
167
- }
168
- }
169
- async download(gitUrl, destination) {
170
- try {
171
- await services_1.GitService.clone(gitUrl, destination);
172
- }
173
- catch (error) {
174
- throw Error(`Download Failed: ${error.message}`);
175
- }
176
- }
177
63
  }
178
64
  exports.default = GenerateApplication;
179
65
  GenerateApplication.command = 'affinidi generate-application';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/generate-application/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/generate-application/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { ViewFormat } from '../constants';
2
+ export interface FlagsInput {
3
+ platform?: PlatformType;
4
+ name?: string;
5
+ use_case?: UseCaseType;
6
+ withProxy?: boolean;
7
+ output?: ViewFormat;
8
+ apiKey: string;
9
+ projectDid: string;
10
+ projectId: string;
11
+ }
12
+ export declare enum Platforms {
13
+ web = "web",
14
+ mobile = "mobile"
15
+ }
16
+ export declare enum UseCasesAppNames {
17
+ portableReputation = "portable-reputation",
18
+ accessWithoutOwnershipOfData = "access-without-ownership-of-data",
19
+ certificationAndVerification = "certification-and-verification",
20
+ kycKyb = "kyc-kyb"
21
+ }
22
+ declare type UseCaseType = `${UseCasesAppNames}`;
23
+ declare type PlatformType = `${Platforms}`;
24
+ export declare const generateApplication: (flags: FlagsInput) => Promise<void>;
25
+ export {};
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateApplication = exports.UseCasesAppNames = exports.Platforms = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@oclif/core");
6
+ const path_1 = tslib_1.__importDefault(require("path"));
7
+ const analytics_1 = require("../services/analytics");
8
+ const errors_1 = require("../errors");
9
+ const display_1 = require("../middleware/display");
10
+ const user_management_1 = require("../services/user-management");
11
+ const texts_1 = require("../render/texts");
12
+ const services_1 = require("../services");
13
+ var Platforms;
14
+ (function (Platforms) {
15
+ Platforms["web"] = "web";
16
+ Platforms["mobile"] = "mobile";
17
+ })(Platforms = exports.Platforms || (exports.Platforms = {}));
18
+ var UseCasesAppNames;
19
+ (function (UseCasesAppNames) {
20
+ UseCasesAppNames["portableReputation"] = "portable-reputation";
21
+ UseCasesAppNames["accessWithoutOwnershipOfData"] = "access-without-ownership-of-data";
22
+ UseCasesAppNames["certificationAndVerification"] = "certification-and-verification";
23
+ UseCasesAppNames["kycKyb"] = "kyc-kyb";
24
+ })(UseCasesAppNames = exports.UseCasesAppNames || (exports.UseCasesAppNames = {}));
25
+ const UseCaseSources = {
26
+ 'portable-reputation': 'NOT IMPLEMENTED YET',
27
+ 'access-without-ownership-of-data': 'NOT IMPLEMENTED YET',
28
+ 'certification-and-verification': 'https://github.com/affinidi/elements-reference-app-frontend.git',
29
+ 'kyc-kyb': 'NOT IMPLEMENTED YET',
30
+ };
31
+ const download = async (gitUrl, destination) => {
32
+ try {
33
+ await services_1.GitService.clone(gitUrl, destination);
34
+ }
35
+ catch (error) {
36
+ throw Error(`Download Failed: ${error.message}`);
37
+ }
38
+ };
39
+ const setUpProject = async (name, withProxy, flags) => {
40
+ const { apiKey, projectDid, projectId } = flags;
41
+ const activeProjectApiKey = apiKey;
42
+ const activeProjectDid = projectDid;
43
+ const activeProjectId = projectId;
44
+ if (!activeProjectApiKey || !activeProjectDid || !activeProjectId) {
45
+ throw Error(errors_1.Unauthorized);
46
+ }
47
+ (0, display_1.displayOutput)({ itemToDisplay: `Setting up the project`, flag: flags.output });
48
+ try {
49
+ if (withProxy) {
50
+ services_1.Writer.write(path_1.default.join(name, '.env'), [
51
+ 'VITE_CLOUD_WALLET_URL=http://localhost:8080/cloud-wallet',
52
+ 'VITE_VERIFIER_URL=http://localhost:8080/affinity-verifier',
53
+ 'VITE_USER_MANAGEMENT_URL=http://localhost:8080/user-management',
54
+ 'VITE_ISSUANCE_URL=http://localhost:8080/console-vc-issuance',
55
+ ]);
56
+ services_1.Writer.write(path_1.default.join(`${name}-backend`, '.env'), [
57
+ 'HOST=127.0.0.1',
58
+ 'PORT=8080',
59
+ 'NODE_ENV=dev',
60
+ 'ENVIRONMENT=development',
61
+ 'FRONTEND_HOST=http://localhost:3000',
62
+ `API_KEY_HASH=${activeProjectApiKey}`,
63
+ `ISSUER_DID=${activeProjectDid}`,
64
+ `PROJECT_ID=${activeProjectId}`,
65
+ ]);
66
+ return;
67
+ }
68
+ services_1.Writer.write(path_1.default.join(name, '.env'), [
69
+ 'VITE_CLOUD_WALLET_URL=https://cloud-wallet-api.prod.affinity-project.org',
70
+ 'VITE_VERIFIER_URL=https://affinity-verifier.prod.affinity-project.org',
71
+ 'VITE_USER_MANAGEMENT_URL=https://console-user-management.apse1.affinidi.com',
72
+ 'VITE_ISSUANCE_URL=https://console-vc-issuance.apse1.affinidi.com',
73
+ 'VITE_IAM_URL=https://affinidi-iam.apse1.affinidi.com',
74
+ `VITE_API_KEY=${activeProjectApiKey}`,
75
+ `VITE_PROJECT_DID=${activeProjectDid}`,
76
+ `VITE_PROJECT_ID=${activeProjectId}`,
77
+ ]);
78
+ }
79
+ catch (error) {
80
+ (0, display_1.displayOutput)({
81
+ itemToDisplay: `Failed to set up project: ${error.message}`,
82
+ flag: flags.output,
83
+ err: true,
84
+ });
85
+ }
86
+ };
87
+ const generateApplication = async (flags) => {
88
+ var _a, _b;
89
+ const { name, platform, use_case: useCase, withProxy } = flags;
90
+ if (platform === Platforms.mobile) {
91
+ throw new errors_1.CliError(errors_1.NotSupportedPlatform, 0, 'reference-app');
92
+ }
93
+ const userId = (_b = (_a = (0, user_management_1.getSession)()) === null || _a === void 0 ? void 0 : _a.account) === null || _b === void 0 ? void 0 : _b.userId;
94
+ const analyticsData = {
95
+ name: 'APPLICATION_GENERATION_STARTED',
96
+ category: 'APPLICATION',
97
+ component: 'Cli',
98
+ uuid: userId,
99
+ metadata: {
100
+ appName: name,
101
+ commandId: 'affinidi.generate-application',
102
+ ...(0, analytics_1.generateUserMetadata)(userId),
103
+ },
104
+ };
105
+ core_1.CliUx.ux.action.start('Generating an application');
106
+ try {
107
+ switch (useCase) {
108
+ case UseCasesAppNames.certificationAndVerification:
109
+ await download(UseCaseSources[useCase], name);
110
+ await analytics_1.analyticsService.eventsControllerSend(analyticsData);
111
+ break;
112
+ case UseCasesAppNames.accessWithoutOwnershipOfData:
113
+ case UseCasesAppNames.portableReputation:
114
+ case UseCasesAppNames.kycKyb:
115
+ (0, display_1.displayOutput)({ itemToDisplay: 'Not implemented yet', flag: flags.output });
116
+ break;
117
+ default:
118
+ throw new errors_1.CliError(errors_1.InvalidUseCase, 0, 'reference-app');
119
+ }
120
+ }
121
+ catch (error) {
122
+ throw new errors_1.CliError(`Failed to generate an application: ${error.message}`, 0, 'reference-app');
123
+ }
124
+ try {
125
+ if (withProxy) {
126
+ await download('https://github.com/affinidi/elements-reference-app-backend.git', `${name}-backend`);
127
+ }
128
+ }
129
+ catch (error) {
130
+ (0, display_1.displayOutput)({
131
+ itemToDisplay: `Failed to generate an application: ${error.message}`,
132
+ flag: flags.output,
133
+ err: true,
134
+ });
135
+ return;
136
+ }
137
+ await setUpProject(name, withProxy, flags);
138
+ analyticsData.name = 'APPLICATION_GENERATION_COMPLETED';
139
+ await analytics_1.analyticsService.eventsControllerSend(analyticsData);
140
+ core_1.CliUx.ux.action.stop('\nApplication generated');
141
+ const appPath = path_1.default.resolve(`${process.cwd()}/${name}`);
142
+ (0, display_1.displayOutput)({
143
+ itemToDisplay: (0, texts_1.buildGeneratedAppNextStepsMessage)(name, appPath, withProxy),
144
+ flag: flags.output,
145
+ });
146
+ };
147
+ exports.generateApplication = generateApplication;
148
+ //# sourceMappingURL=genApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genApp.js","sourceRoot":"","sources":["../../src/exposedFunctions/genApp.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { run } from '@oclif/core';
2
+ export { generateApplication } from './exposedFunctions/genApp';
package/dist/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.run = void 0;
3
+ exports.generateApplication = exports.run = void 0;
4
4
  var core_1 = require("@oclif/core");
5
5
  Object.defineProperty(exports, "run", { enumerable: true, get: function () { return core_1.run; } });
6
+ var genApp_1 = require("./exposedFunctions/genApp");
7
+ Object.defineProperty(exports, "generateApplication", { enumerable: true, get: function () { return genApp_1.generateApplication; } });
6
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAAxB,2FAAA,GAAG,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAAxB,2FAAA,GAAG,OAAA;AACZ,oDAA+D;AAAtD,6GAAA,mBAAmB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@affinidi/cli",
3
- "version": "1.52.2",
3
+ "version": "1.53.1",
4
4
  "description": "Affinidi Elements command-line-interface",
5
5
  "author": "affinidi.com",
6
6
  "license": "Apache-2.0",