@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.
Files changed (95) hide show
  1. package/README.md +143 -227
  2. package/dist/commands/generate/app.d.ts +1 -0
  3. package/dist/commands/generate/app.js +77 -16
  4. package/dist/commands/generate/app.js.map +1 -1
  5. package/dist/commands/iam/add-principal.js +9 -1
  6. package/dist/commands/iam/add-principal.js.map +1 -1
  7. package/dist/commands/iam/get-policies.js +9 -1
  8. package/dist/commands/iam/get-policies.js.map +1 -1
  9. package/dist/commands/iam/remove-principal.js +9 -1
  10. package/dist/commands/iam/remove-principal.js.map +1 -1
  11. package/dist/commands/iam/update-policies.js +26 -14
  12. package/dist/commands/iam/update-policies.js.map +1 -1
  13. package/dist/commands/login/add-user-to-group.js +9 -1
  14. package/dist/commands/login/add-user-to-group.js.map +1 -1
  15. package/dist/commands/login/create-config.js +22 -10
  16. package/dist/commands/login/create-config.js.map +1 -1
  17. package/dist/commands/login/create-group.js +7 -1
  18. package/dist/commands/login/create-group.js.map +1 -1
  19. package/dist/commands/login/delete-config.js +10 -3
  20. package/dist/commands/login/delete-config.js.map +1 -1
  21. package/dist/commands/login/delete-group.js +10 -3
  22. package/dist/commands/login/delete-group.js.map +1 -1
  23. package/dist/commands/login/get-config.js +8 -1
  24. package/dist/commands/login/get-config.js.map +1 -1
  25. package/dist/commands/login/get-group.js +8 -1
  26. package/dist/commands/login/get-group.js.map +1 -1
  27. package/dist/commands/login/list-users-in-group.js +8 -1
  28. package/dist/commands/login/list-users-in-group.js.map +1 -1
  29. package/dist/commands/login/remove-user-from-group.js +10 -2
  30. package/dist/commands/login/remove-user-from-group.js.map +1 -1
  31. package/dist/commands/login/update-config.js +12 -8
  32. package/dist/commands/login/update-config.js.map +1 -1
  33. package/dist/commands/project/create-project.d.ts +1 -0
  34. package/dist/commands/project/create-project.js +14 -1
  35. package/dist/commands/project/create-project.js.map +1 -1
  36. package/dist/commands/project/select-project.js +8 -2
  37. package/dist/commands/project/select-project.js.map +1 -1
  38. package/dist/commands/start.js +4 -3
  39. package/dist/commands/start.js.map +1 -1
  40. package/dist/commands/stop.js +8 -5
  41. package/dist/commands/stop.js.map +1 -1
  42. package/dist/commands/token/create-token.js +4 -3
  43. package/dist/commands/token/create-token.js.map +1 -1
  44. package/dist/commands/token/delete-token.js +2 -1
  45. package/dist/commands/token/delete-token.js.map +1 -1
  46. package/dist/commands/token/get-token.js +2 -1
  47. package/dist/commands/token/get-token.js.map +1 -1
  48. package/dist/commands/token/update-token.js +5 -4
  49. package/dist/commands/token/update-token.js.map +1 -1
  50. package/dist/commands/whoami.d.ts +9 -0
  51. package/dist/commands/whoami.js +37 -0
  52. package/dist/commands/whoami.js.map +1 -0
  53. package/dist/common/base-command.d.ts +1 -0
  54. package/dist/common/base-command.js +4 -0
  55. package/dist/common/base-command.js.map +1 -1
  56. package/dist/common/constants.d.ts +4 -0
  57. package/dist/common/constants.js +6 -1
  58. package/dist/common/constants.js.map +1 -1
  59. package/dist/helpers/generate-error-message.d.ts +1 -0
  60. package/dist/helpers/generate-error-message.js +8 -0
  61. package/dist/helpers/generate-error-message.js.map +1 -0
  62. package/dist/helpers/input-length-validation.d.ts +4 -0
  63. package/dist/helpers/input-length-validation.js +15 -0
  64. package/dist/helpers/input-length-validation.js.map +1 -0
  65. package/dist/helpers/prompt-required-flags.js +8 -1
  66. package/dist/helpers/prompt-required-flags.js.map +1 -1
  67. package/dist/services/affinidi/auth/index.d.ts +4 -4
  68. package/dist/services/affinidi/auth/index.js +6 -11
  69. package/dist/services/affinidi/auth/index.js.map +1 -1
  70. package/dist/services/affinidi/auth/token.d.ts +11 -7
  71. package/dist/services/affinidi/auth/token.js +25 -21
  72. package/dist/services/affinidi/auth/token.js.map +1 -1
  73. package/dist/services/affinidi/errors/index.d.ts +2 -0
  74. package/dist/services/affinidi/errors/index.js +6 -5
  75. package/dist/services/affinidi/errors/index.js.map +1 -1
  76. package/dist/services/affinidi/iam/iam.api.d.ts +1 -0
  77. package/dist/services/affinidi/iam/iam.api.js.map +1 -1
  78. package/dist/services/affinidi/iam/index.d.ts +3 -3
  79. package/dist/services/affinidi/iam/index.js +9 -3
  80. package/dist/services/affinidi/iam/index.js.map +1 -1
  81. package/dist/services/config/index.js +4 -4
  82. package/dist/services/config/index.js.map +1 -1
  83. package/dist/services/generator/auth0.d.ts +5 -0
  84. package/dist/services/generator/auth0.js +80 -0
  85. package/dist/services/generator/auth0.js.map +1 -0
  86. package/dist/services/generator/env-configurer.d.ts +1 -0
  87. package/dist/services/generator/env-configurer.js +22 -0
  88. package/dist/services/generator/env-configurer.js.map +1 -0
  89. package/dist/services/urls.d.ts +0 -1
  90. package/dist/services/urls.js +1 -4
  91. package/dist/services/urls.js.map +1 -1
  92. package/package.json +3 -4
  93. package/dist/services/auth0/index.d.ts +0 -7
  94. package/dist/services/auth0/index.js +0 -104
  95. 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 auth0_1 = require("../../services/auth0");
11
- const GIT_URL = `affinidi/reference-app-affinidi-vault/use-cases/default`;
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)(GIT_URL, promptFlags.path, flags.force);
42
+ await (0, degit_1.cloneWithDegit)(`${APPS_GITHUB_LOCATION}/${sample}`, validatedFlags.path, flags.force);
18
43
  core_1.ux.action.stop('Generated successfully!');
19
- const clientId = await (0, prompts_1.input)({ message: 'What is your Affinidi login configurations clientId?' });
20
- const clientSecret = await (0, password_1.default)({
21
- message: 'What is your Affinidi login configurations clientSecret?',
22
- mask: true,
23
- });
24
- const accessToken = await (0, password_1.default)({ message: 'What is your IDP access token?' });
25
- const domain = await (0, prompts_1.input)({ message: 'What is your tenant domain?' });
26
- core_1.ux.action.start('Configuring Auth0 application');
27
- await auth0_1.auth0Service.generateAuth0Application(accessToken, domain, clientId, clientSecret, promptFlags.path);
28
- core_1.ux.action.stop('Configured successfully!');
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 and configures an Auth0 connection. Requires git';
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 <destination_path>',
36
- '<%= config.bin %> <%= command.id %> --path <destination_path> --force',
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,+CAAyC;AACzC,sCAAuC;AACvC,yCAA0C;AAC1C,2CAAwD;AACxD,+CAAoD;AACpD,gDAAmD;AAEnD,MAAM,OAAO,GAAG,yDAAyD,CAAA;AAEzE,MAAqB,WAAY,SAAQ,oBAA+B;IAkB/D,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;QAEnE,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACnD,MAAM,IAAA,sBAAc,EAAC,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC5D,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAEzC,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC,CAAA;QACjG,MAAM,YAAY,GAAG,MAAM,IAAA,kBAAQ,EAAC;YAClC,OAAO,EAAE,0DAA0D;YACnE,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAQ,EAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAA;QACjF,MAAM,MAAM,GAAG,MAAM,IAAA,eAAK,EAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAA;QAEtE,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAChD,MAAM,oBAAY,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;QAC1G,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;IAC5C,CAAC;;AArCH,8BAsCC;AArCQ,mBAAO,GAAG,oFAAoF,CAAA;AAC9F,oBAAQ,GAAG;IAChB,qCAAqC;IACrC,2DAA2D;IAC3D,uEAAuE;CACxE,CAAA;AAEM,iBAAK,GAAG;IACb,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,6EAA6E;KACvF,CAAC;IACF,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC;QACnB,OAAO,EAAE,0CAA0C;KACpD,CAAC;CACH,CAAA"}
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;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;YACjC,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;;AA1CH,oCA2CC;AA1CQ,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"}
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;YACjC,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;;AA/CH,kCAgDC;AA/CQ,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"}
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;YACjC,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;;AAjDH,0CAkDC;AAjDQ,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"}
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 fs_1 = require("fs");
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, fs_1.readFileSync)(validatedFlags.file, 'utf8');
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
- const confirmPolicies = await (0, prompts_1.confirm)({
77
- message: 'Update policies?',
78
- });
79
- if (!confirmPolicies) {
80
- throw new errors_1.CLIError('Action canceled');
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":"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"}
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, promptFlags['group-name'], promptFlags['user-sub']);
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":";;;AAAA,sCAAuC;AACvC,yCAA0C;AAC1C,2CAAwD;AACxD,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;QAErF,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,WAAW,CAAC,YAAY,CAAC,EACzB,WAAW,CAAC,UAAU,CAAC,CACxB,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;;AA1BH,wCA2BC;AA1BQ,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"}
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 fs_1 = require("fs");
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, fs_1.readFileSync)(flags.file, 'utf8');
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 ?? (await (0, prompts_1.input)({ message: 'Enter the login configuration name' })),
32
- redirectUris: (flags['redirect-uris'] ?? (await (0, prompts_1.input)({ message: 'Enter the OAuth 2.0 redirect URIs, separated by space' }))).split(' '),
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":"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"}
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, promptFlags.name);
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;QAEnE,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,WAAW,CAAC,IAAI,CACjB,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;;AA1BH,kCA2BC;AA1BQ,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
+ {"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, promptFlags.id);
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: promptFlags.id });
18
- return { id: promptFlags.id };
24
+ this.logJson({ id: validatedFlags.id });
25
+ return { id: validatedFlags.id };
19
26
  }
20
27
  }
21
28
  exports.DeleteLoginConfiguration = DeleteLoginConfiguration;