@affinidi/cli 2.0.0-beta.6 → 2.0.0-beta.8
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 +143 -227
- package/dist/commands/generate/app.d.ts +1 -0
- package/dist/commands/generate/app.js +77 -16
- package/dist/commands/generate/app.js.map +1 -1
- package/dist/commands/iam/add-principal.js +9 -1
- package/dist/commands/iam/add-principal.js.map +1 -1
- package/dist/commands/iam/get-policies.js +9 -1
- package/dist/commands/iam/get-policies.js.map +1 -1
- package/dist/commands/iam/remove-principal.js +9 -1
- package/dist/commands/iam/remove-principal.js.map +1 -1
- package/dist/commands/iam/update-policies.js +26 -14
- package/dist/commands/iam/update-policies.js.map +1 -1
- package/dist/commands/login/add-user-to-group.js +9 -1
- package/dist/commands/login/add-user-to-group.js.map +1 -1
- package/dist/commands/login/create-config.js +22 -10
- package/dist/commands/login/create-config.js.map +1 -1
- package/dist/commands/login/create-group.js +7 -1
- package/dist/commands/login/create-group.js.map +1 -1
- package/dist/commands/login/delete-config.js +10 -3
- package/dist/commands/login/delete-config.js.map +1 -1
- package/dist/commands/login/delete-group.js +10 -3
- package/dist/commands/login/delete-group.js.map +1 -1
- package/dist/commands/login/get-config.js +8 -1
- package/dist/commands/login/get-config.js.map +1 -1
- package/dist/commands/login/get-group.js +8 -1
- package/dist/commands/login/get-group.js.map +1 -1
- package/dist/commands/login/list-users-in-group.js +8 -1
- package/dist/commands/login/list-users-in-group.js.map +1 -1
- package/dist/commands/login/remove-user-from-group.js +10 -2
- package/dist/commands/login/remove-user-from-group.js.map +1 -1
- package/dist/commands/login/update-config.js +12 -8
- package/dist/commands/login/update-config.js.map +1 -1
- package/dist/commands/project/create-project.d.ts +1 -0
- package/dist/commands/project/create-project.js +14 -1
- package/dist/commands/project/create-project.js.map +1 -1
- package/dist/commands/project/select-project.js +8 -2
- package/dist/commands/project/select-project.js.map +1 -1
- package/dist/commands/start.js +4 -3
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/stop.js +8 -5
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/token/create-token.js +4 -3
- package/dist/commands/token/create-token.js.map +1 -1
- package/dist/commands/token/delete-token.js +2 -1
- package/dist/commands/token/delete-token.js.map +1 -1
- package/dist/commands/token/get-token.js +2 -1
- package/dist/commands/token/get-token.js.map +1 -1
- package/dist/commands/token/update-token.js +5 -4
- package/dist/commands/token/update-token.js.map +1 -1
- package/dist/commands/whoami.d.ts +9 -0
- package/dist/commands/whoami.js +37 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/common/base-command.d.ts +1 -0
- package/dist/common/base-command.js +4 -0
- package/dist/common/base-command.js.map +1 -1
- package/dist/common/constants.d.ts +4 -0
- package/dist/common/constants.js +6 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/helpers/generate-error-message.d.ts +1 -0
- package/dist/helpers/generate-error-message.js +8 -0
- package/dist/helpers/generate-error-message.js.map +1 -0
- package/dist/helpers/input-length-validation.d.ts +4 -0
- package/dist/helpers/input-length-validation.js +15 -0
- package/dist/helpers/input-length-validation.js.map +1 -0
- package/dist/helpers/prompt-required-flags.js +8 -1
- package/dist/helpers/prompt-required-flags.js.map +1 -1
- package/dist/services/affinidi/auth/index.d.ts +4 -4
- package/dist/services/affinidi/auth/index.js +6 -11
- package/dist/services/affinidi/auth/index.js.map +1 -1
- package/dist/services/affinidi/auth/token.d.ts +11 -7
- package/dist/services/affinidi/auth/token.js +25 -21
- package/dist/services/affinidi/auth/token.js.map +1 -1
- package/dist/services/affinidi/errors/index.d.ts +2 -0
- package/dist/services/affinidi/errors/index.js +6 -5
- package/dist/services/affinidi/errors/index.js.map +1 -1
- package/dist/services/affinidi/iam/iam.api.d.ts +1 -0
- package/dist/services/affinidi/iam/iam.api.js.map +1 -1
- package/dist/services/affinidi/iam/index.d.ts +3 -3
- package/dist/services/affinidi/iam/index.js +9 -3
- package/dist/services/affinidi/iam/index.js.map +1 -1
- package/dist/services/config/index.js +4 -4
- package/dist/services/config/index.js.map +1 -1
- package/dist/services/generator/auth0.d.ts +5 -0
- package/dist/services/generator/auth0.js +80 -0
- package/dist/services/generator/auth0.js.map +1 -0
- package/dist/services/generator/env-configurer.d.ts +1 -0
- package/dist/services/generator/env-configurer.js +22 -0
- package/dist/services/generator/env-configurer.js.map +1 -0
- package/dist/services/urls.d.ts +0 -1
- package/dist/services/urls.js +1 -4
- package/dist/services/urls.js.map +1 -1
- package/package.json +3 -4
- package/dist/services/auth0/index.d.ts +0 -7
- package/dist/services/auth0/index.js +0 -104
- package/dist/services/auth0/index.js.map +0 -1
|
@@ -3,6 +3,7 @@ export default class GenerateApp extends BaseCommand<typeof GenerateApp> {
|
|
|
3
3
|
static summary: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
+
sample: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
6
7
|
path: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
7
8
|
force: import("@oclif/core/lib/interfaces/parser").BooleanFlag<boolean>;
|
|
8
9
|
};
|
|
@@ -4,38 +4,99 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const password_1 = tslib_1.__importDefault(require("@inquirer/password"));
|
|
5
5
|
const prompts_1 = require("@inquirer/prompts");
|
|
6
6
|
const core_1 = require("@oclif/core");
|
|
7
|
+
const errors_1 = require("@oclif/core/lib/errors");
|
|
8
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
9
|
+
const zod_1 = tslib_1.__importDefault(require("zod"));
|
|
7
10
|
const common_1 = require("../../common");
|
|
8
11
|
const helpers_1 = require("../../helpers");
|
|
9
12
|
const degit_1 = require("../../helpers/degit");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
13
|
+
const generate_error_message_1 = require("../../helpers/generate-error-message");
|
|
14
|
+
const input_length_validation_1 = require("../../helpers/input-length-validation");
|
|
15
|
+
const affinidi_1 = require("../../services/affinidi");
|
|
16
|
+
const vp_adapter_1 = require("../../services/affinidi/vp-adapter");
|
|
17
|
+
const auth0_1 = require("../../services/generator/auth0");
|
|
18
|
+
const env_configurer_1 = require("../../services/generator/env-configurer");
|
|
19
|
+
const APPS_GITHUB_LOCATION = 'affinidi/reference-app-affinidi-vault/samples';
|
|
12
20
|
class GenerateApp extends common_1.BaseCommand {
|
|
13
21
|
async run() {
|
|
14
22
|
const { flags } = await this.parse(GenerateApp);
|
|
23
|
+
if (flags['no-input'] && !flags.sample) {
|
|
24
|
+
throw new errors_1.CLIError((0, generate_error_message_1.giveFlagInputErrorMessage)('sample'));
|
|
25
|
+
}
|
|
26
|
+
const sample = flags.sample ??
|
|
27
|
+
(await (0, prompts_1.select)({
|
|
28
|
+
message: `Select the app to generate. ${chalk_1.default.italic('affinidi-*')} for basic Affinidi Login, ${chalk_1.default.italic('auth0-*')} for Affinidi Login through Auth0`,
|
|
29
|
+
choices: Object.values(common_1.RefAppSamples).map((value) => ({
|
|
30
|
+
name: value,
|
|
31
|
+
value,
|
|
32
|
+
})),
|
|
33
|
+
}));
|
|
15
34
|
const promptFlags = await (0, helpers_1.promptRequiredParameters)(['path'], flags);
|
|
35
|
+
promptFlags.sample = sample;
|
|
36
|
+
const schema = zod_1.default.object({
|
|
37
|
+
path: zod_1.default.string().max(input_length_validation_1.INPUT_LIMIT),
|
|
38
|
+
sample: zod_1.default.string().max(input_length_validation_1.INPUT_LIMIT),
|
|
39
|
+
});
|
|
40
|
+
const validatedFlags = schema.parse(promptFlags);
|
|
16
41
|
core_1.ux.action.start('Generating reference application');
|
|
17
|
-
await (0, degit_1.cloneWithDegit)(
|
|
42
|
+
await (0, degit_1.cloneWithDegit)(`${APPS_GITHUB_LOCATION}/${sample}`, validatedFlags.path, flags.force);
|
|
18
43
|
core_1.ux.action.stop('Generated successfully!');
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
44
|
+
if (!flags['no-input']) {
|
|
45
|
+
const configure = await (0, prompts_1.confirm)({
|
|
46
|
+
message: 'Automatically configure reference app environment?',
|
|
47
|
+
});
|
|
48
|
+
if (configure) {
|
|
49
|
+
core_1.ux.action.start('Fetching available login configurations');
|
|
50
|
+
const configs = await vp_adapter_1.vpAdapterService.listLoginConfigurations(affinidi_1.clientSDK.config.getProjectToken()?.projectAccessToken);
|
|
51
|
+
core_1.ux.action.stop('Fetched successfully!');
|
|
52
|
+
const choices = configs.configurations.map((config) => ({
|
|
53
|
+
value: {
|
|
54
|
+
id: config.id,
|
|
55
|
+
auth: config.auth,
|
|
56
|
+
},
|
|
57
|
+
name: `${config.name} [id: ${config.id}]`,
|
|
58
|
+
}));
|
|
59
|
+
const selectedConfig = await (0, prompts_1.select)({
|
|
60
|
+
message: 'Select a login configuration to use in your reference application',
|
|
61
|
+
choices,
|
|
62
|
+
});
|
|
63
|
+
const clientSecret = (0, input_length_validation_1.validateInputLength)(await (0, password_1.default)({
|
|
64
|
+
message: "What is the login configuration's client secret?",
|
|
65
|
+
mask: true,
|
|
66
|
+
}), input_length_validation_1.INPUT_LIMIT);
|
|
67
|
+
if (sample === common_1.RefAppSamples.AFFINIDI_NEXTJS_NEXTAUTHJS) {
|
|
68
|
+
core_1.ux.action.start('Configuring reference application');
|
|
69
|
+
await (0, env_configurer_1.configureAppEnvironment)(validatedFlags.path, selectedConfig.auth.clientId, clientSecret, selectedConfig.auth.issuer);
|
|
70
|
+
core_1.ux.action.stop('Configured successfully!');
|
|
71
|
+
}
|
|
72
|
+
else if (sample === common_1.RefAppSamples.AUTH0_NEXTJS_NEXTAUTHJS) {
|
|
73
|
+
const domain = (0, input_length_validation_1.validateInputLength)(await (0, prompts_1.input)({ message: 'What is your Auth0 tenant URL?' }), input_length_validation_1.INPUT_LIMIT);
|
|
74
|
+
const accessToken = (0, input_length_validation_1.validateInputLength)(await (0, password_1.default)({ message: 'What is your Auth0 access token?' }), input_length_validation_1.TOKEN_LIMIT);
|
|
75
|
+
core_1.ux.action.start('Creating Auth0 resources and configuring reference application');
|
|
76
|
+
const { auth0ClientId, auth0ClientSecret, connectionName } = await (0, auth0_1.createAuth0Resources)(accessToken, domain, selectedConfig.auth.clientId, clientSecret, selectedConfig.auth.issuer);
|
|
77
|
+
await (0, env_configurer_1.configureAppEnvironment)(validatedFlags.path, auth0ClientId, auth0ClientSecret, domain, connectionName);
|
|
78
|
+
core_1.ux.action.stop('Configured successfully!');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
this.log('Please read the generated README for instructions on how to run your reference application');
|
|
29
83
|
}
|
|
30
84
|
}
|
|
31
85
|
exports.default = GenerateApp;
|
|
32
|
-
GenerateApp.summary = 'Generates a reference application
|
|
86
|
+
GenerateApp.summary = 'Generates a NextJS reference application that integrates Affinidi Login. Requires git';
|
|
33
87
|
GenerateApp.examples = [
|
|
34
88
|
'<%= config.bin %> <%= command.id %>',
|
|
35
|
-
'<%= config.bin %> <%= command.id %> -p
|
|
36
|
-
'<%= config.bin %> <%= command.id %> --path
|
|
89
|
+
'<%= config.bin %> <%= command.id %> -p "../my-app" -s affinidi-nextjs-nextauthjs',
|
|
90
|
+
'<%= config.bin %> <%= command.id %> --path "../my-app" --sample auth0-nextjs-nextauthjs --force',
|
|
37
91
|
];
|
|
38
92
|
GenerateApp.flags = {
|
|
93
|
+
sample: core_1.Flags.string({
|
|
94
|
+
char: 's',
|
|
95
|
+
summary: 'Sample to generate',
|
|
96
|
+
description: `Use ${chalk_1.default.italic('affinidi-nextjs-nextauthjs')} to generate a Next.js+NextAuth.js app that integrates Affinidi Login directly\n\
|
|
97
|
+
Use ${chalk_1.default.italic('auth0-nextjs-nextauthjs')} to generate a Next.js+NextAuth.js app that integrates Affinidi Login through Auth0`,
|
|
98
|
+
options: Object.values(common_1.RefAppSamples),
|
|
99
|
+
}),
|
|
39
100
|
path: core_1.Flags.string({
|
|
40
101
|
char: 'p',
|
|
41
102
|
summary: 'Relative or absolute path where reference application should be cloned into',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/commands/generate/app.ts"],"names":[],"mappings":";;;AAAA,0EAAyC;AACzC,+
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/commands/generate/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,16 +4,24 @@ exports.AddPrincipal = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const prompts_1 = require("@inquirer/prompts");
|
|
6
6
|
const core_1 = require("@oclif/core");
|
|
7
|
+
const errors_1 = require("@oclif/core/lib/errors");
|
|
7
8
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
8
9
|
const zod_1 = require("zod");
|
|
9
10
|
const common_1 = require("../../common");
|
|
10
11
|
const helpers_1 = require("../../helpers");
|
|
12
|
+
const generate_error_message_1 = require("../../helpers/generate-error-message");
|
|
13
|
+
const input_length_validation_1 = require("../../helpers/input-length-validation");
|
|
11
14
|
const affinidi_1 = require("../../services/affinidi");
|
|
12
15
|
const iam_1 = require("../../services/affinidi/iam");
|
|
13
16
|
class AddPrincipal extends common_1.BaseCommand {
|
|
14
17
|
async run() {
|
|
15
18
|
const { flags } = await this.parse(AddPrincipal);
|
|
16
19
|
const promptFlags = await (0, helpers_1.promptRequiredParameters)(['principal-id'], flags);
|
|
20
|
+
if (flags['no-input']) {
|
|
21
|
+
if (!promptFlags['principal-type']) {
|
|
22
|
+
throw new errors_1.CLIError((0, generate_error_message_1.giveFlagInputErrorMessage)('principal-type'));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
17
25
|
promptFlags['principal-type'] ?? (promptFlags['principal-type'] = await (0, prompts_1.select)({
|
|
18
26
|
message: 'Select the principal-type',
|
|
19
27
|
choices: Object.values(common_1.PrincipalTypes).map((value) => ({
|
|
@@ -22,7 +30,7 @@ class AddPrincipal extends common_1.BaseCommand {
|
|
|
22
30
|
})),
|
|
23
31
|
}));
|
|
24
32
|
const schema = zod_1.z.object({
|
|
25
|
-
'principal-id': zod_1.z.string().uuid(),
|
|
33
|
+
'principal-id': zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT).uuid(),
|
|
26
34
|
'principal-type': zod_1.z.nativeEnum(common_1.PrincipalTypes),
|
|
27
35
|
});
|
|
28
36
|
const validatedFlags = schema.parse(promptFlags);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-principal.js","sourceRoot":"","sources":["../../../src/commands/iam/add-principal.ts"],"names":[],"mappings":";;;;AAAA,+CAA0C;AAC1C,sCAAuC;AACvC,0DAAyB;AACzB,6BAAuB;AACvB,yCAA0D;AAC1D,2CAAwD;AACxD,sDAAmD;AACnD,qDAAwD;AAExD,MAAa,YAAa,SAAQ,oBAAgC;IAoBzD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAChD,MAAM,WAAW,GAAG,MAAM,IAAA,kCAAwB,EAAC,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"add-principal.js","sourceRoot":"","sources":["../../../src/commands/iam/add-principal.ts"],"names":[],"mappings":";;;;AAAA,+CAA0C;AAC1C,sCAAuC;AACvC,mDAAiD;AACjD,0DAAyB;AACzB,6BAAuB;AACvB,yCAA0D;AAC1D,2CAAwD;AACxD,iFAAgF;AAChF,mFAAmE;AACnE,sDAAmD;AACnD,qDAAwD;AAExD,MAAa,YAAa,SAAQ,oBAAgC;IAoBzD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAChD,MAAM,WAAW,GAAG,MAAM,IAAA,kCAAwB,EAAC,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAA;QAE3E,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;gBAClC,MAAM,IAAI,iBAAQ,CAAC,IAAA,kDAAyB,EAAC,gBAAgB,CAAC,CAAC,CAAA;aAChE;SACF;QACD,WAAW,CAAC,gBAAgB,MAA5B,WAAW,CAAC,gBAAgB,IAAM,MAAM,IAAA,gBAAM,EAAC;YAC7C,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAc,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,EAAE,KAAK;gBACX,KAAK;aACN,CAAC,CAAC;SACJ,CAAC,EAAA;QACF,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;YACtB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qCAAW,CAAC,CAAC,IAAI,EAAE;YAClD,gBAAgB,EAAE,OAAC,CAAC,UAAU,CAAC,uBAAc,CAAC;SAC/C,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAEhD,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC9C,MAAM,gBAAU,CAAC,qBAAqB,CAAC,oBAAS,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,kBAAkB,EAAE;YAC7F,WAAW,EAAE,cAAc,CAAC,cAAc,CAAC;YAC3C,aAAa,EAAE,cAAc,CAAC,gBAAgB,CAAC;SAChD,CAAC,CAAA;QACF,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACvC,CAAC;;AAhDH,oCAiDC;AAhDQ,oBAAO,GAAG,wDAAwD,CAAA;AAClE,wBAAW,GAAG,8CAA8C,eAAK,CAAC,OAAO,CAAC,iCAAiC,CAAC,EAAE,CAAA;AAC9G,qBAAQ,GAAG;IAChB,+CAA+C;IAC/C,yFAAyF;CAC1F,CAAA;AACM,kBAAK,GAAG;IACb,cAAc,EAAE,YAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,2CAA2C,eAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAAE;KACtG,CAAC;IACF,gBAAgB,EAAE,YAAK,CAAC,MAAM,CAAC;QAC7B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAc,CAAC;KACvC,CAAC;CACH,CAAA"}
|
|
@@ -4,16 +4,24 @@ exports.GetPolicies = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const prompts_1 = require("@inquirer/prompts");
|
|
6
6
|
const core_1 = require("@oclif/core");
|
|
7
|
+
const errors_1 = require("@oclif/core/lib/errors");
|
|
7
8
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
8
9
|
const zod_1 = require("zod");
|
|
9
10
|
const common_1 = require("../../common");
|
|
10
11
|
const helpers_1 = require("../../helpers");
|
|
12
|
+
const generate_error_message_1 = require("../../helpers/generate-error-message");
|
|
13
|
+
const input_length_validation_1 = require("../../helpers/input-length-validation");
|
|
11
14
|
const affinidi_1 = require("../../services/affinidi");
|
|
12
15
|
const iam_1 = require("../../services/affinidi/iam");
|
|
13
16
|
class GetPolicies extends common_1.BaseCommand {
|
|
14
17
|
async run() {
|
|
15
18
|
const { flags } = await this.parse(GetPolicies);
|
|
16
19
|
const promptFlags = await (0, helpers_1.promptRequiredParameters)(['principal-id'], flags);
|
|
20
|
+
if (flags['no-input']) {
|
|
21
|
+
if (!promptFlags['principal-type']) {
|
|
22
|
+
throw new errors_1.CLIError((0, generate_error_message_1.giveFlagInputErrorMessage)('principal-type'));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
17
25
|
promptFlags['principal-type'] ?? (promptFlags['principal-type'] = await (0, prompts_1.select)({
|
|
18
26
|
message: 'Select the principal-type',
|
|
19
27
|
choices: Object.values(common_1.PrincipalTypes).map((value) => ({
|
|
@@ -22,7 +30,7 @@ class GetPolicies extends common_1.BaseCommand {
|
|
|
22
30
|
})),
|
|
23
31
|
}));
|
|
24
32
|
const schema = zod_1.z.object({
|
|
25
|
-
'principal-id': zod_1.z.string().uuid(),
|
|
33
|
+
'principal-id': zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT).uuid(),
|
|
26
34
|
'principal-type': zod_1.z.nativeEnum(common_1.PrincipalTypes),
|
|
27
35
|
});
|
|
28
36
|
const validatedFlags = schema.parse(promptFlags);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-policies.js","sourceRoot":"","sources":["../../../src/commands/iam/get-policies.ts"],"names":[],"mappings":";;;;AAAA,+CAA0C;AAC1C,sCAAuC;AACvC,0DAAyB;AACzB,6BAAuB;AACvB,yCAA0D;AAC1D,2CAAwD;AACxD,sDAAmD;AACnD,qDAAwD;AAGxD,MAAa,WAAY,SAAQ,oBAA+B;IAqBvD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC/C,MAAM,WAAW,GAAG,MAAM,IAAA,kCAAwB,EAAC,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAA;QAC3E,WAAW,CAAC,gBAAgB,MAA5B,WAAW,CAAC,gBAAgB,IAAM,MAAM,IAAA,gBAAM,EAAC;YAC7C,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAc,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,EAAE,KAAK;gBACX,KAAK;aACN,CAAC,CAAC;SACJ,CAAC,EAAA;QACF,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;YACtB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"get-policies.js","sourceRoot":"","sources":["../../../src/commands/iam/get-policies.ts"],"names":[],"mappings":";;;;AAAA,+CAA0C;AAC1C,sCAAuC;AACvC,mDAAiD;AACjD,0DAAyB;AACzB,6BAAuB;AACvB,yCAA0D;AAC1D,2CAAwD;AACxD,iFAAgF;AAChF,mFAAmE;AACnE,sDAAmD;AACnD,qDAAwD;AAGxD,MAAa,WAAY,SAAQ,oBAA+B;IAqBvD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC/C,MAAM,WAAW,GAAG,MAAM,IAAA,kCAAwB,EAAC,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAA;QAC3E,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;gBAClC,MAAM,IAAI,iBAAQ,CAAC,IAAA,kDAAyB,EAAC,gBAAgB,CAAC,CAAC,CAAA;aAChE;SACF;QACD,WAAW,CAAC,gBAAgB,MAA5B,WAAW,CAAC,gBAAgB,IAAM,MAAM,IAAA,gBAAM,EAAC;YAC7C,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAc,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,EAAE,KAAK;gBACX,KAAK;aACN,CAAC,CAAC;SACJ,CAAC,EAAA;QACF,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;YACtB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qCAAW,CAAC,CAAC,IAAI,EAAE;YAClD,gBAAgB,EAAE,OAAC,CAAC,UAAU,CAAC,uBAAc,CAAC;SAC/C,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAEhD,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC9C,MAAM,GAAG,GAAG,MAAM,gBAAU,CAAC,WAAW,CACtC,oBAAS,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,kBAAkB,EACtD,cAAc,CAAC,cAAc,CAAC,EAC9B,cAAc,CAAC,gBAAgB,CAAC,CACjC,CAAA;QACD,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAEvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1C,OAAO,GAAG,CAAA;IACZ,CAAC;;AApDH,kCAqDC;AApDQ,mBAAO,GAAG,kDAAkD,CAAA;AAC5D,uBAAW,GAAG;kBACL,eAAK,CAAC,OAAO,CAAC,iCAAiC,CAAC,gCAAgC,CAAA;AACzF,oBAAQ,GAAG;IAChB,+CAA+C;IAC/C,yFAAyF;CAC1F,CAAA;AACM,iBAAK,GAAG;IACb,cAAc,EAAE,YAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,2CAA2C,eAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAAE;KACtG,CAAC;IACF,gBAAgB,EAAE,YAAK,CAAC,MAAM,CAAC;QAC7B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAc,CAAC;KACvC,CAAC;CACH,CAAA"}
|
|
@@ -4,16 +4,24 @@ exports.RemovePrincipal = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const prompts_1 = require("@inquirer/prompts");
|
|
6
6
|
const core_1 = require("@oclif/core");
|
|
7
|
+
const errors_1 = require("@oclif/core/lib/errors");
|
|
7
8
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
8
9
|
const zod_1 = require("zod");
|
|
9
10
|
const common_1 = require("../../common");
|
|
10
11
|
const helpers_1 = require("../../helpers");
|
|
12
|
+
const generate_error_message_1 = require("../../helpers/generate-error-message");
|
|
13
|
+
const input_length_validation_1 = require("../../helpers/input-length-validation");
|
|
11
14
|
const affinidi_1 = require("../../services/affinidi");
|
|
12
15
|
const iam_1 = require("../../services/affinidi/iam");
|
|
13
16
|
class RemovePrincipal extends common_1.BaseCommand {
|
|
14
17
|
async run() {
|
|
15
18
|
const { flags } = await this.parse(RemovePrincipal);
|
|
16
19
|
const promptFlags = await (0, helpers_1.promptRequiredParameters)(['principal-id'], flags);
|
|
20
|
+
if (flags['no-input']) {
|
|
21
|
+
if (!promptFlags['principal-type']) {
|
|
22
|
+
throw new errors_1.CLIError((0, generate_error_message_1.giveFlagInputErrorMessage)('principal-type'));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
17
25
|
promptFlags['principal-type'] ?? (promptFlags['principal-type'] = await (0, prompts_1.select)({
|
|
18
26
|
message: 'Select the principal-type',
|
|
19
27
|
choices: Object.values(common_1.PrincipalTypes).map((value) => ({
|
|
@@ -22,7 +30,7 @@ class RemovePrincipal extends common_1.BaseCommand {
|
|
|
22
30
|
})),
|
|
23
31
|
}));
|
|
24
32
|
const schema = zod_1.z.object({
|
|
25
|
-
'principal-id': zod_1.z.string().uuid(),
|
|
33
|
+
'principal-id': zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT).uuid(),
|
|
26
34
|
'principal-type': zod_1.z.nativeEnum(common_1.PrincipalTypes),
|
|
27
35
|
});
|
|
28
36
|
const validatedFlags = schema.parse(promptFlags);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-principal.js","sourceRoot":"","sources":["../../../src/commands/iam/remove-principal.ts"],"names":[],"mappings":";;;;AAAA,+CAA0C;AAC1C,sCAAuC;AACvC,0DAAyB;AACzB,6BAAuB;AACvB,yCAA0D;AAC1D,2CAAwD;AACxD,sDAAmD;AACnD,qDAAwD;AAExD,MAAa,eAAgB,SAAQ,oBAAmC;IAoB/D,KAAK,CAAC,GAAG;QAId,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACnD,MAAM,WAAW,GAAG,MAAM,IAAA,kCAAwB,EAAC,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAA;QAC3E,WAAW,CAAC,gBAAgB,MAA5B,WAAW,CAAC,gBAAgB,IAAM,MAAM,IAAA,gBAAM,EAAC;YAC7C,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAc,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,EAAE,KAAK;gBACX,KAAK;aACN,CAAC,CAAC;SACJ,CAAC,EAAA;QACF,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;YACtB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"remove-principal.js","sourceRoot":"","sources":["../../../src/commands/iam/remove-principal.ts"],"names":[],"mappings":";;;;AAAA,+CAA0C;AAC1C,sCAAuC;AACvC,mDAAiD;AACjD,0DAAyB;AACzB,6BAAuB;AACvB,yCAA0D;AAC1D,2CAAwD;AACxD,iFAAgF;AAChF,mFAAmE;AACnE,sDAAmD;AACnD,qDAAwD;AAExD,MAAa,eAAgB,SAAQ,oBAAmC;IAoB/D,KAAK,CAAC,GAAG;QAId,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACnD,MAAM,WAAW,GAAG,MAAM,IAAA,kCAAwB,EAAC,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAA;QAC3E,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;gBAClC,MAAM,IAAI,iBAAQ,CAAC,IAAA,kDAAyB,EAAC,gBAAgB,CAAC,CAAC,CAAA;aAChE;SACF;QACD,WAAW,CAAC,gBAAgB,MAA5B,WAAW,CAAC,gBAAgB,IAAM,MAAM,IAAA,gBAAM,EAAC;YAC7C,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAc,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,EAAE,KAAK;gBACX,KAAK;aACN,CAAC,CAAC;SACJ,CAAC,EAAA;QACF,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;YACtB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qCAAW,CAAC,CAAC,IAAI,EAAE;YAClD,gBAAgB,EAAE,OAAC,CAAC,UAAU,CAAC,uBAAc,CAAC;SAC/C,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAEhD,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAClD,MAAM,gBAAU,CAAC,0BAA0B,CACzC,oBAAS,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,kBAAkB,EACtD,cAAc,CAAC,cAAc,CAAC,EAC9B,cAAc,CAAC,gBAAgB,CAAC,CACjC,CAAA;QACD,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAEvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACrD,OAAO,cAAc,CAAA;IACvB,CAAC;;AAtDH,0CAuDC;AAtDQ,uBAAO,GAAG,6DAA6D,CAAA;AACvE,2BAAW,GAAG,8CAA8C,eAAK,CAAC,OAAO,CAAC,iCAAiC,CAAC,EAAE,CAAA;AAC9G,wBAAQ,GAAG;IAChB,+CAA+C;IAC/C,yFAAyF;CAC1F,CAAA;AACM,qBAAK,GAAG;IACb,cAAc,EAAE,YAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,2CAA2C,eAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAAE;KACtG,CAAC;IACF,gBAAgB,EAAE,YAAK,CAAC,MAAM,CAAC;QAC7B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAc,CAAC;KACvC,CAAC;CACH,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UpdatePolicies = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
5
|
+
const promises_1 = require("fs/promises");
|
|
6
6
|
const prompts_1 = require("@inquirer/prompts");
|
|
7
7
|
const core_1 = require("@oclif/core");
|
|
8
8
|
const errors_1 = require("@oclif/core/lib/errors");
|
|
@@ -10,12 +10,19 @@ const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
|
10
10
|
const zod_1 = require("zod");
|
|
11
11
|
const common_1 = require("../../common");
|
|
12
12
|
const helpers_1 = require("../../helpers");
|
|
13
|
+
const generate_error_message_1 = require("../../helpers/generate-error-message");
|
|
14
|
+
const input_length_validation_1 = require("../../helpers/input-length-validation");
|
|
13
15
|
const affinidi_1 = require("../../services/affinidi");
|
|
14
16
|
const iam_1 = require("../../services/affinidi/iam");
|
|
15
17
|
class UpdatePolicies extends common_1.BaseCommand {
|
|
16
18
|
async run() {
|
|
17
19
|
const { flags } = await this.parse(UpdatePolicies);
|
|
18
20
|
const promptFlags = await (0, helpers_1.promptRequiredParameters)(['principal-id'], flags);
|
|
21
|
+
if (flags['no-input']) {
|
|
22
|
+
if (!promptFlags['principal-type']) {
|
|
23
|
+
throw new errors_1.CLIError((0, generate_error_message_1.giveFlagInputErrorMessage)('principal-type'));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
19
26
|
promptFlags['principal-type'] ?? (promptFlags['principal-type'] = await (0, prompts_1.select)({
|
|
20
27
|
message: 'Select the principal-type',
|
|
21
28
|
choices: Object.values(common_1.PrincipalTypes).map((value) => ({
|
|
@@ -24,18 +31,18 @@ class UpdatePolicies extends common_1.BaseCommand {
|
|
|
24
31
|
})),
|
|
25
32
|
}));
|
|
26
33
|
const flagsSchema = zod_1.z.object({
|
|
27
|
-
'principal-id': zod_1.z.string().uuid(),
|
|
34
|
+
'principal-id': zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT).uuid(),
|
|
28
35
|
'principal-type': zod_1.z.nativeEnum(common_1.PrincipalTypes),
|
|
29
36
|
file: zod_1.z.string().optional(),
|
|
30
37
|
});
|
|
31
38
|
const validatedFlags = flagsSchema.parse(promptFlags);
|
|
32
39
|
const policiesDataSchema = zod_1.z.object({
|
|
33
|
-
version: zod_1.z.string(),
|
|
40
|
+
version: zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT),
|
|
34
41
|
statement: zod_1.z
|
|
35
42
|
.object({
|
|
36
|
-
principal: zod_1.z.string().array().length(1),
|
|
37
|
-
action: zod_1.z.string().array().nonempty(),
|
|
38
|
-
resource: zod_1.z.string().array().nonempty(),
|
|
43
|
+
principal: zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT).array().length(1),
|
|
44
|
+
action: zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT).array().nonempty(),
|
|
45
|
+
resource: zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT).array().nonempty(),
|
|
39
46
|
effect: zod_1.z.literal('Allow'),
|
|
40
47
|
})
|
|
41
48
|
.array()
|
|
@@ -43,7 +50,7 @@ class UpdatePolicies extends common_1.BaseCommand {
|
|
|
43
50
|
});
|
|
44
51
|
let policiesData = null;
|
|
45
52
|
if (validatedFlags.file) {
|
|
46
|
-
const rawData = (0,
|
|
53
|
+
const rawData = await (0, promises_1.readFile)(validatedFlags.file, 'utf8');
|
|
47
54
|
try {
|
|
48
55
|
policiesData = JSON.parse(rawData);
|
|
49
56
|
}
|
|
@@ -52,10 +59,13 @@ class UpdatePolicies extends common_1.BaseCommand {
|
|
|
52
59
|
}
|
|
53
60
|
}
|
|
54
61
|
else {
|
|
62
|
+
if (flags['no-input']) {
|
|
63
|
+
throw new errors_1.CLIError((0, generate_error_message_1.giveFlagInputErrorMessage)('file'));
|
|
64
|
+
}
|
|
55
65
|
this.log(`Assigning a single policy statement to a principal. To assign multiple statements please use the ${chalk_1.default.inverse('--file')} flag instead.`);
|
|
56
66
|
this.warn('\nThis will override the existing principal statements');
|
|
57
|
-
const resourceFilters = await (0, prompts_1.input)({ message: 'Enter the resource filters, separated by space' });
|
|
58
|
-
const actions = await (0, prompts_1.input)({ message: 'Enter the allowed actions, separated by space' });
|
|
67
|
+
const resourceFilters = (0, input_length_validation_1.validateInputLength)(await (0, prompts_1.input)({ message: 'Enter the resource filters, separated by space' }), input_length_validation_1.INPUT_LIMIT);
|
|
68
|
+
const actions = (0, input_length_validation_1.validateInputLength)(await (0, prompts_1.input)({ message: 'Enter the allowed actions, separated by space' }), input_length_validation_1.INPUT_LIMIT);
|
|
59
69
|
policiesData = {
|
|
60
70
|
version: '2022-12-15',
|
|
61
71
|
statement: [
|
|
@@ -73,11 +83,13 @@ class UpdatePolicies extends common_1.BaseCommand {
|
|
|
73
83
|
const validatedPolicies = policiesDataSchema.parse(policiesData);
|
|
74
84
|
this.log(`The following policies will be updated for principal ${chalk_1.default.inverse(validatedFlags['principal-id'])}:`);
|
|
75
85
|
this.logJson(validatedPolicies);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
86
|
+
if (!flags['no-input']) {
|
|
87
|
+
const confirmPolicies = await (0, prompts_1.confirm)({
|
|
88
|
+
message: 'Update policies?',
|
|
89
|
+
});
|
|
90
|
+
if (!confirmPolicies) {
|
|
91
|
+
throw new errors_1.CLIError('Action canceled');
|
|
92
|
+
}
|
|
81
93
|
}
|
|
82
94
|
core_1.ux.action.start('Updating principal policies');
|
|
83
95
|
const out = await iam_1.iamService.updatePolicies(affinidi_1.clientSDK.config.getProjectToken()?.projectAccessToken, validatedFlags['principal-id'], validatedFlags['principal-type'], validatedPolicies);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-policies.js","sourceRoot":"","sources":["../../../src/commands/iam/update-policies.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"update-policies.js","sourceRoot":"","sources":["../../../src/commands/iam/update-policies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AddUserToGroup = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const zod_1 = tslib_1.__importDefault(require("zod"));
|
|
5
7
|
const common_1 = require("../../common");
|
|
6
8
|
const helpers_1 = require("../../helpers");
|
|
9
|
+
const input_length_validation_1 = require("../../helpers/input-length-validation");
|
|
7
10
|
const affinidi_1 = require("../../services/affinidi");
|
|
8
11
|
const vp_adapter_1 = require("../../services/affinidi/vp-adapter");
|
|
9
12
|
class AddUserToGroup extends common_1.BaseCommand {
|
|
10
13
|
async run() {
|
|
11
14
|
const { flags } = await this.parse(AddUserToGroup);
|
|
12
15
|
const promptFlags = await (0, helpers_1.promptRequiredParameters)(['group-name', 'user-sub'], flags);
|
|
16
|
+
const schema = zod_1.default.object({
|
|
17
|
+
'group-name': zod_1.default.string().max(input_length_validation_1.INPUT_LIMIT),
|
|
18
|
+
'user-sub': zod_1.default.string().max(input_length_validation_1.INPUT_LIMIT),
|
|
19
|
+
});
|
|
20
|
+
const validatedFlags = schema.parse(promptFlags);
|
|
13
21
|
core_1.ux.action.start('Adding user to group');
|
|
14
|
-
const addUserToGroupOutput = await vp_adapter_1.vpAdapterService.addUserToGroup(affinidi_1.clientSDK.config.getProjectToken()?.projectAccessToken,
|
|
22
|
+
const addUserToGroupOutput = await vp_adapter_1.vpAdapterService.addUserToGroup(affinidi_1.clientSDK.config.getProjectToken()?.projectAccessToken, validatedFlags['group-name'], validatedFlags['user-sub']);
|
|
15
23
|
core_1.ux.action.stop('Added successfully!');
|
|
16
24
|
if (!this.jsonEnabled())
|
|
17
25
|
this.logJson(addUserToGroupOutput);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-user-to-group.js","sourceRoot":"","sources":["../../../src/commands/login/add-user-to-group.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"add-user-to-group.js","sourceRoot":"","sources":["../../../src/commands/login/add-user-to-group.ts"],"names":[],"mappings":";;;;AAAA,sCAAuC;AACvC,sDAAmB;AACnB,yCAA0C;AAC1C,2CAAwD;AACxD,mFAAmE;AACnE,sDAAmD;AACnD,mEAAqE;AAGrE,MAAa,cAAe,SAAQ,oBAAkC;IAY7D,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAClD,MAAM,WAAW,GAAG,MAAM,IAAA,kCAAwB,EAAC,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAA;QACrF,MAAM,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;YACtB,YAAY,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qCAAW,CAAC;YACzC,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qCAAW,CAAC;SACxC,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAEhD,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACvC,MAAM,oBAAoB,GAAG,MAAM,6BAAgB,CAAC,cAAc,CAChE,oBAAS,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,kBAAkB,EACtD,cAAc,CAAC,YAAY,CAAC,EAC5B,cAAc,CAAC,UAAU,CAAC,CAC3B,CAAA;QACD,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QAErC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC3D,OAAO,oBAAoB,CAAA;IAC7B,CAAC;;AA/BH,wCAgCC;AA/BQ,sBAAO,GAAG,6BAA6B,CAAA;AACvC,uBAAQ,GAAG,CAAC,oFAAoF,CAAC,CAAA;AACjG,oBAAK,GAAG;IACb,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,OAAO,EAAE,wBAAwB;KAClC,CAAC;IACF,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,6DAA6D;KACvE,CAAC;CACH,CAAA"}
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CreateConfig = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
5
|
+
const promises_1 = require("fs/promises");
|
|
6
6
|
const prompts_1 = require("@inquirer/prompts");
|
|
7
7
|
const core_1 = require("@oclif/core");
|
|
8
8
|
const errors_1 = require("@oclif/core/lib/errors");
|
|
9
9
|
const zod_1 = tslib_1.__importDefault(require("zod"));
|
|
10
10
|
const common_1 = require("../../common");
|
|
11
|
+
const generate_error_message_1 = require("../../helpers/generate-error-message");
|
|
12
|
+
const input_length_validation_1 = require("../../helpers/input-length-validation");
|
|
11
13
|
const affinidi_1 = require("../../services/affinidi");
|
|
12
14
|
const vp_adapter_1 = require("../../services/affinidi/vp-adapter");
|
|
13
15
|
const vp_adapter_api_1 = require("../../services/affinidi/vp-adapter/vp-adapter.api");
|
|
@@ -17,9 +19,12 @@ class CreateConfig extends common_1.BaseCommand {
|
|
|
17
19
|
let data;
|
|
18
20
|
// File input
|
|
19
21
|
if (flags.file) {
|
|
20
|
-
const rawData = (0,
|
|
22
|
+
const rawData = await (0, promises_1.readFile)(flags.file, 'utf8');
|
|
21
23
|
try {
|
|
22
24
|
data = JSON.parse(rawData);
|
|
25
|
+
if (data.presentationDefinition) {
|
|
26
|
+
(0, input_length_validation_1.validateInputLength)(JSON.stringify(data.presentationDefinition), input_length_validation_1.PRESENTATION_DEFINITION_LIMIT);
|
|
27
|
+
}
|
|
23
28
|
}
|
|
24
29
|
catch (error) {
|
|
25
30
|
throw new errors_1.CLIError(`Provided file is not a valid JSON\n${error.message}`);
|
|
@@ -27,9 +32,17 @@ class CreateConfig extends common_1.BaseCommand {
|
|
|
27
32
|
}
|
|
28
33
|
// Flag/prompt input
|
|
29
34
|
else {
|
|
35
|
+
if (flags['no-input']) {
|
|
36
|
+
if (!flags.name)
|
|
37
|
+
throw new errors_1.CLIError((0, generate_error_message_1.giveFlagInputErrorMessage)('name'));
|
|
38
|
+
if (!flags['redirect-uris'])
|
|
39
|
+
throw new errors_1.CLIError((0, generate_error_message_1.giveFlagInputErrorMessage)('redirect-uris'));
|
|
40
|
+
}
|
|
30
41
|
data = {
|
|
31
|
-
name: flags.name ??
|
|
32
|
-
|
|
42
|
+
name: flags.name ??
|
|
43
|
+
(0, input_length_validation_1.validateInputLength)(await (0, prompts_1.input)({ message: 'Enter the login configuration name' }), input_length_validation_1.INPUT_LIMIT),
|
|
44
|
+
redirectUris: (flags['redirect-uris'] ??
|
|
45
|
+
(0, input_length_validation_1.validateInputLength)(await (0, prompts_1.input)({ message: 'Enter the OAuth 2.0 redirect URIs, separated by space' }), input_length_validation_1.INPUT_LIMIT)).split(' '),
|
|
33
46
|
claimFormat: flags['claim-format'],
|
|
34
47
|
tokenEndpointAuthMethod: flags['token-endpoint-auth-method'],
|
|
35
48
|
};
|
|
@@ -42,9 +55,8 @@ class CreateConfig extends common_1.BaseCommand {
|
|
|
42
55
|
}
|
|
43
56
|
}
|
|
44
57
|
const createConfigSchema = zod_1.default.object({
|
|
45
|
-
name: zod_1.default.string().min(1),
|
|
46
|
-
redirectUris: zod_1.default.string().url().array(),
|
|
47
|
-
// TODO improve Presentation Definition validation
|
|
58
|
+
name: zod_1.default.string().min(1).max(input_length_validation_1.INPUT_LIMIT),
|
|
59
|
+
redirectUris: zod_1.default.string().max(input_length_validation_1.INPUT_LIMIT).url().array(),
|
|
48
60
|
presentationDefinition: zod_1.default.object({}).passthrough().optional(),
|
|
49
61
|
idTokenMapping: zod_1.default
|
|
50
62
|
.object({
|
|
@@ -56,9 +68,9 @@ class CreateConfig extends common_1.BaseCommand {
|
|
|
56
68
|
claimFormat: zod_1.default.nativeEnum(common_1.IdTokenClaimFormats).optional(),
|
|
57
69
|
clientMetadata: zod_1.default
|
|
58
70
|
.object({
|
|
59
|
-
name: zod_1.default.string(),
|
|
60
|
-
origin: zod_1.default.string(),
|
|
61
|
-
logo: zod_1.default.string(),
|
|
71
|
+
name: zod_1.default.string().max(input_length_validation_1.INPUT_LIMIT),
|
|
72
|
+
origin: zod_1.default.string().max(input_length_validation_1.INPUT_LIMIT),
|
|
73
|
+
logo: zod_1.default.string().max(input_length_validation_1.INPUT_LIMIT),
|
|
62
74
|
})
|
|
63
75
|
.optional(),
|
|
64
76
|
tokenEndpointAuthMethod: zod_1.default.nativeEnum(vp_adapter_api_1.TokenEndpointAuthMethod).optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-config.js","sourceRoot":"","sources":["../../../src/commands/login/create-config.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"create-config.js","sourceRoot":"","sources":["../../../src/commands/login/create-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,16 +4,22 @@ exports.CreateGroup = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
6
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
+
const zod_1 = tslib_1.__importDefault(require("zod"));
|
|
7
8
|
const common_1 = require("../../common");
|
|
8
9
|
const helpers_1 = require("../../helpers");
|
|
9
10
|
const affinidi_1 = require("../../services/affinidi");
|
|
10
11
|
const vp_adapter_1 = require("../../services/affinidi/vp-adapter");
|
|
12
|
+
const CREATE_GROUP_NAME_LIMIT = 24;
|
|
11
13
|
class CreateGroup extends common_1.BaseCommand {
|
|
12
14
|
async run() {
|
|
13
15
|
const { flags } = await this.parse(CreateGroup);
|
|
14
16
|
const promptFlags = await (0, helpers_1.promptRequiredParameters)(['name'], flags);
|
|
17
|
+
const schema = zod_1.default.object({
|
|
18
|
+
name: zod_1.default.string().max(CREATE_GROUP_NAME_LIMIT),
|
|
19
|
+
});
|
|
20
|
+
const validatedFlags = schema.parse(promptFlags);
|
|
15
21
|
core_1.ux.action.start('Creating user group');
|
|
16
|
-
const createGroupOutput = await vp_adapter_1.vpAdapterService.createGroup(affinidi_1.clientSDK.config.getProjectToken()?.projectAccessToken,
|
|
22
|
+
const createGroupOutput = await vp_adapter_1.vpAdapterService.createGroup(affinidi_1.clientSDK.config.getProjectToken()?.projectAccessToken, validatedFlags.name);
|
|
17
23
|
core_1.ux.action.stop('Created successfully!');
|
|
18
24
|
if (!this.jsonEnabled())
|
|
19
25
|
this.logJson(createGroupOutput);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-group.js","sourceRoot":"","sources":["../../../src/commands/login/create-group.ts"],"names":[],"mappings":";;;;AAAA,sCAAuC;AACvC,0DAAyB;AACzB,yCAA0C;AAC1C,2CAAwD;AACxD,sDAAmD;AACnD,mEAAqE;AAGrE,MAAa,WAAY,SAAQ,oBAA+B;IAavD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC/C,MAAM,WAAW,GAAG,MAAM,IAAA,kCAAwB,EAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"create-group.js","sourceRoot":"","sources":["../../../src/commands/login/create-group.ts"],"names":[],"mappings":";;;;AAAA,sCAAuC;AACvC,0DAAyB;AACzB,sDAAmB;AACnB,yCAA0C;AAC1C,2CAAwD;AACxD,sDAAmD;AACnD,mEAAqE;AAGrE,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAClC,MAAa,WAAY,SAAQ,oBAA+B;IAavD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC/C,MAAM,WAAW,GAAG,MAAM,IAAA,kCAAwB,EAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAA;QACnE,MAAM,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC;SAC9C,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAEhD,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACtC,MAAM,iBAAiB,GAAG,MAAM,6BAAgB,CAAC,WAAW,CAC1D,oBAAS,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,kBAAkB,EACtD,cAAc,CAAC,IAAI,CACpB,CAAA;QACD,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAEvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QACxD,OAAO,iBAAiB,CAAA;IAC1B,CAAC;;AA9BH,kCA+BC;AA9BQ,mBAAO,GAAG,4CAA4C,CAAA;AACtD,oBAAQ,GAAG;IAChB,qDAAqD;IACrD,yDAAyD;CAC1D,CAAA;AACM,iBAAK,GAAG;IACb,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,6DAA6D,eAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;KACnG,CAAC;CACH,CAAA"}
|
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DeleteLoginConfiguration = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const core_1 = require("@oclif/core");
|
|
6
|
+
const zod_1 = tslib_1.__importDefault(require("zod"));
|
|
5
7
|
const common_1 = require("../../common");
|
|
6
8
|
const helpers_1 = require("../../helpers");
|
|
9
|
+
const input_length_validation_1 = require("../../helpers/input-length-validation");
|
|
7
10
|
const affinidi_1 = require("../../services/affinidi");
|
|
8
11
|
const vp_adapter_1 = require("../../services/affinidi/vp-adapter");
|
|
9
12
|
class DeleteLoginConfiguration extends common_1.BaseCommand {
|
|
10
13
|
async run() {
|
|
11
14
|
const { flags } = await this.parse(DeleteLoginConfiguration);
|
|
12
15
|
const promptFlags = await (0, helpers_1.promptRequiredParameters)(['id'], flags);
|
|
16
|
+
const schema = zod_1.default.object({
|
|
17
|
+
id: zod_1.default.string().max(input_length_validation_1.INPUT_LIMIT),
|
|
18
|
+
});
|
|
19
|
+
const validatedFlags = schema.parse(promptFlags);
|
|
13
20
|
core_1.ux.action.start('Deleting login configuration');
|
|
14
|
-
await vp_adapter_1.vpAdapterService.deleteLoginConfigurationById(affinidi_1.clientSDK.config.getProjectToken()?.projectAccessToken,
|
|
21
|
+
await vp_adapter_1.vpAdapterService.deleteLoginConfigurationById(affinidi_1.clientSDK.config.getProjectToken()?.projectAccessToken, validatedFlags.id);
|
|
15
22
|
core_1.ux.action.stop('Deleted successfully!');
|
|
16
23
|
if (!this.jsonEnabled())
|
|
17
|
-
this.logJson({ id:
|
|
18
|
-
return { id:
|
|
24
|
+
this.logJson({ id: validatedFlags.id });
|
|
25
|
+
return { id: validatedFlags.id };
|
|
19
26
|
}
|
|
20
27
|
}
|
|
21
28
|
exports.DeleteLoginConfiguration = DeleteLoginConfiguration;
|