@affinidi/cli 2.0.0-beta.5 → 2.0.0-beta.7

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 (103) hide show
  1. package/README.md +151 -235
  2. package/dist/commands/generate/app.d.ts +1 -0
  3. package/dist/commands/generate/app.js +79 -28
  4. package/dist/commands/generate/app.js.map +1 -1
  5. package/dist/commands/iam/add-principal.d.ts +1 -1
  6. package/dist/commands/iam/add-principal.js +19 -3
  7. package/dist/commands/iam/add-principal.js.map +1 -1
  8. package/dist/commands/iam/get-policies.d.ts +1 -1
  9. package/dist/commands/iam/get-policies.js +17 -2
  10. package/dist/commands/iam/get-policies.js.map +1 -1
  11. package/dist/commands/iam/remove-principal.d.ts +1 -1
  12. package/dist/commands/iam/remove-principal.js +17 -2
  13. package/dist/commands/iam/remove-principal.js.map +1 -1
  14. package/dist/commands/iam/update-policies.d.ts +1 -1
  15. package/dist/commands/iam/update-policies.js +33 -15
  16. package/dist/commands/iam/update-policies.js.map +1 -1
  17. package/dist/commands/login/add-user-to-group.js +9 -1
  18. package/dist/commands/login/add-user-to-group.js.map +1 -1
  19. package/dist/commands/login/create-config.js +23 -11
  20. package/dist/commands/login/create-config.js.map +1 -1
  21. package/dist/commands/login/create-group.js +7 -1
  22. package/dist/commands/login/create-group.js.map +1 -1
  23. package/dist/commands/login/delete-config.js +10 -3
  24. package/dist/commands/login/delete-config.js.map +1 -1
  25. package/dist/commands/login/delete-group.js +10 -3
  26. package/dist/commands/login/delete-group.js.map +1 -1
  27. package/dist/commands/login/get-config.js +8 -1
  28. package/dist/commands/login/get-config.js.map +1 -1
  29. package/dist/commands/login/get-group.js +8 -1
  30. package/dist/commands/login/get-group.js.map +1 -1
  31. package/dist/commands/login/list-users-in-group.js +8 -1
  32. package/dist/commands/login/list-users-in-group.js.map +1 -1
  33. package/dist/commands/login/remove-user-from-group.js +10 -2
  34. package/dist/commands/login/remove-user-from-group.js.map +1 -1
  35. package/dist/commands/login/update-config.js +12 -8
  36. package/dist/commands/login/update-config.js.map +1 -1
  37. package/dist/commands/project/create-project.d.ts +1 -0
  38. package/dist/commands/project/create-project.js +14 -1
  39. package/dist/commands/project/create-project.js.map +1 -1
  40. package/dist/commands/project/select-project.js +7 -1
  41. package/dist/commands/project/select-project.js.map +1 -1
  42. package/dist/commands/start.js +3 -2
  43. package/dist/commands/start.js.map +1 -1
  44. package/dist/commands/stop.js +8 -5
  45. package/dist/commands/stop.js.map +1 -1
  46. package/dist/commands/token/create-token.js +4 -3
  47. package/dist/commands/token/create-token.js.map +1 -1
  48. package/dist/commands/token/delete-token.js +2 -1
  49. package/dist/commands/token/delete-token.js.map +1 -1
  50. package/dist/commands/token/get-token.js +2 -1
  51. package/dist/commands/token/get-token.js.map +1 -1
  52. package/dist/commands/token/update-token.js +5 -4
  53. package/dist/commands/token/update-token.js.map +1 -1
  54. package/dist/commands/whoami.d.ts +9 -0
  55. package/dist/commands/whoami.js +37 -0
  56. package/dist/commands/whoami.js.map +1 -0
  57. package/dist/common/base-command.d.ts +1 -0
  58. package/dist/common/base-command.js +4 -0
  59. package/dist/common/base-command.js.map +1 -1
  60. package/dist/common/constants.d.ts +4 -0
  61. package/dist/common/constants.js +6 -1
  62. package/dist/common/constants.js.map +1 -1
  63. package/dist/helpers/degit.d.ts +1 -0
  64. package/dist/helpers/degit.js +26 -0
  65. package/dist/helpers/degit.js.map +1 -0
  66. package/dist/helpers/generate-error-message.d.ts +1 -0
  67. package/dist/helpers/generate-error-message.js +8 -0
  68. package/dist/helpers/generate-error-message.js.map +1 -0
  69. package/dist/helpers/index.d.ts +1 -0
  70. package/dist/helpers/index.js +3 -1
  71. package/dist/helpers/index.js.map +1 -1
  72. package/dist/helpers/input-length-validation.d.ts +4 -0
  73. package/dist/helpers/input-length-validation.js +15 -0
  74. package/dist/helpers/input-length-validation.js.map +1 -0
  75. package/dist/helpers/prompt-required-flags.js +8 -1
  76. package/dist/helpers/prompt-required-flags.js.map +1 -1
  77. package/dist/services/affinidi/auth/index.js +7 -2
  78. package/dist/services/affinidi/auth/index.js.map +1 -1
  79. package/dist/services/affinidi/auth/token.d.ts +11 -7
  80. package/dist/services/affinidi/auth/token.js +25 -21
  81. package/dist/services/affinidi/auth/token.js.map +1 -1
  82. package/dist/services/affinidi/errors/index.d.ts +2 -0
  83. package/dist/services/affinidi/errors/index.js +6 -5
  84. package/dist/services/affinidi/errors/index.js.map +1 -1
  85. package/dist/services/affinidi/iam/iam.api.d.ts +8 -0
  86. package/dist/services/affinidi/iam/iam.api.js +1 -3
  87. package/dist/services/affinidi/iam/iam.api.js.map +1 -1
  88. package/dist/services/affinidi/iam/index.d.ts +1 -1
  89. package/dist/services/affinidi/iam/index.js +2 -2
  90. package/dist/services/affinidi/iam/index.js.map +1 -1
  91. package/dist/services/generator/auth0.d.ts +5 -0
  92. package/dist/services/generator/auth0.js +80 -0
  93. package/dist/services/generator/auth0.js.map +1 -0
  94. package/dist/services/generator/env-configurer.d.ts +1 -0
  95. package/dist/services/generator/env-configurer.js +22 -0
  96. package/dist/services/generator/env-configurer.js.map +1 -0
  97. package/dist/services/urls.d.ts +0 -1
  98. package/dist/services/urls.js +1 -4
  99. package/dist/services/urls.js.map +1 -1
  100. package/package.json +6 -6
  101. package/dist/services/auth0/index.d.ts +0 -7
  102. package/dist/services/auth0/index.js +0 -104
  103. 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,48 +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 shelljs_1 = tslib_1.__importDefault(require("shelljs"));
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"));
8
10
  const common_1 = require("../../common");
9
11
  const helpers_1 = require("../../helpers");
10
- const auth0_1 = require("../../services/auth0");
11
- const REFERENCE_APP_REPO_NAME = 'reference-app-affinidi-vault';
12
- const REFERENCE_APP_SUB_DIRECTORY = 'use-cases/default';
13
- const GIT_URL = `affinidi/${REFERENCE_APP_REPO_NAME}/${REFERENCE_APP_SUB_DIRECTORY}`;
12
+ const degit_1 = require("../../helpers/degit");
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';
14
20
  class GenerateApp extends common_1.BaseCommand {
15
21
  async run() {
16
22
  const { flags } = await this.parse(GenerateApp);
17
- const promptFlags = await (0, helpers_1.promptRequiredParameters)(['path'], flags);
18
- const appPath = promptFlags.path;
19
- core_1.ux.action.start('Cloning reference application');
20
- // NOTE: using shelljs instead of child_process as shelljs handles errors better
21
- const { code, stderr } = shelljs_1.default.exec(`npx degit ${GIT_URL} ${appPath} ${flags.force ? '--force' : ''}`);
22
- if (code !== 0) {
23
- core_1.ux.action.stop('Failed 🧨');
24
- this.exit(1);
25
- }
26
- else {
27
- core_1.ux.action.stop('Cloned successfully!');
23
+ if (flags['no-input'] && !flags.sample) {
24
+ throw new errors_1.CLIError((0, generate_error_message_1.giveFlagInputErrorMessage)('sample'));
28
25
  }
29
- const clientId = await (0, prompts_1.input)({ message: 'What is your Affinidi login configurations clientId?' });
30
- const clientSecret = await (0, password_1.default)({
31
- message: 'What is your Affinidi login configurations clientSecret?',
32
- mask: true,
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
+ }));
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),
33
39
  });
34
- const accessToken = await (0, password_1.default)({ message: 'What is your IDP access token?' });
35
- const domain = await (0, prompts_1.input)({ message: 'What is your tenant domain?' });
36
- core_1.ux.action.start('Generating Auth0 application');
37
- await auth0_1.auth0Service.generateAuth0Application(accessToken, domain, clientId, clientSecret, appPath);
38
- core_1.ux.action.stop();
40
+ const validatedFlags = schema.parse(promptFlags);
41
+ core_1.ux.action.start('Generating reference application');
42
+ await (0, degit_1.cloneWithDegit)(`${APPS_GITHUB_LOCATION}/${sample}`, validatedFlags.path, flags.force);
43
+ core_1.ux.action.stop('Generated 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');
39
83
  }
40
84
  }
41
85
  exports.default = GenerateApp;
42
- GenerateApp.summary = 'Clone a reference application and create Auth0 connection';
86
+ GenerateApp.summary = 'Generates a NextJS reference application that integrates Affinidi Login. Requires git';
43
87
  GenerateApp.examples = [
44
88
  '<%= config.bin %> <%= command.id %>',
45
- '<%= config.bin %> <%= command.id %> -p <PATH_WHERE_TO_CLONE_REFERENCE_APP>',
46
- '<%= config.bin %> <%= command.id %> --path <PATH_WHERE_TO_CLONE_REFERENCE_APP> --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',
47
91
  ];
48
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
+ }),
49
100
  path: core_1.Flags.string({
50
101
  char: 'p',
51
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;AAEvC,8DAA2B;AAE3B,yCAA0C;AAC1C,2CAAwD;AACxD,gDAAmD;AAEnD,MAAM,uBAAuB,GAAG,8BAA8B,CAAA;AAC9D,MAAM,2BAA2B,GAAG,mBAAmB,CAAA;AACvD,MAAM,OAAO,GAAG,YAAY,uBAAuB,IAAI,2BAA2B,EAAE,CAAA;AAEpF,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;QACnE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAA;QAEhC,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAEhD,gFAAgF;QAChF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAK,CAAC,IAAI,CAAC,aAAa,OAAO,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAEtG,IAAI,IAAI,KAAK,CAAC,EAAE;YACd,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAE3B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SACb;aAAM;YACL,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;SACvC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC,CAAA;QAEjG,MAAM,YAAY,GAAG,MAAM,IAAA,kBAAQ,EAAC;YAClC,OAAO,EAAE,0DAA0D;YACnE,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAQ,EAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAA;QAEjF,MAAM,MAAM,GAAG,MAAM,IAAA,eAAK,EAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAA;QAEtE,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC/C,MAAM,oBAAY,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QACjG,SAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAClB,CAAC;;AAlDH,8BAmDC;AAlDQ,mBAAO,GAAG,2DAA2D,CAAA;AACrE,oBAAQ,GAAG;IAChB,qCAAqC;IACrC,4EAA4E;IAC5E,wFAAwF;CACzF,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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"}
@@ -5,7 +5,7 @@ export declare class AddPrincipal extends BaseCommand<typeof AddPrincipal> {
5
5
  static examples: string[];
6
6
  static flags: {
7
7
  'principal-id': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
- 'principal-type': import("@oclif/core/lib/interfaces/parser").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ 'principal-type': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
9
  };
10
10
  run(): Promise<void>;
11
11
  }
@@ -2,25 +2,42 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AddPrincipal = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const prompts_1 = require("@inquirer/prompts");
5
6
  const core_1 = require("@oclif/core");
7
+ const errors_1 = require("@oclif/core/lib/errors");
6
8
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
9
  const zod_1 = require("zod");
8
10
  const common_1 = require("../../common");
9
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");
10
14
  const affinidi_1 = require("../../services/affinidi");
11
15
  const iam_1 = require("../../services/affinidi/iam");
12
16
  class AddPrincipal extends common_1.BaseCommand {
13
17
  async run() {
14
18
  const { flags } = await this.parse(AddPrincipal);
15
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
+ }
25
+ promptFlags['principal-type'] ?? (promptFlags['principal-type'] = await (0, prompts_1.select)({
26
+ message: 'Select the principal-type',
27
+ choices: Object.values(common_1.PrincipalTypes).map((value) => ({
28
+ name: value,
29
+ value,
30
+ })),
31
+ }));
16
32
  const schema = zod_1.z.object({
17
- 'principal-id': zod_1.z.string().uuid(),
33
+ 'principal-id': zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT).uuid(),
18
34
  'principal-type': zod_1.z.nativeEnum(common_1.PrincipalTypes),
19
35
  });
20
36
  const validatedFlags = schema.parse(promptFlags);
21
37
  core_1.ux.action.start('Adding principal to project');
22
38
  await iam_1.iamService.addPrincipalToProject(affinidi_1.clientSDK.config.getProjectToken()?.projectAccessToken, {
23
- principalId: `${validatedFlags['principal-type']}/${validatedFlags['principal-id']}`,
39
+ principalId: validatedFlags['principal-id'],
40
+ principalType: validatedFlags['principal-type'],
24
41
  });
25
42
  core_1.ux.action.stop('Added successfully!');
26
43
  }
@@ -42,7 +59,6 @@ AddPrincipal.flags = {
42
59
  char: 't',
43
60
  summary: 'Type of the principal',
44
61
  options: Object.values(common_1.PrincipalTypes),
45
- default: common_1.PrincipalTypes.TOKEN,
46
62
  }),
47
63
  };
48
64
  //# sourceMappingURL=add-principal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-principal.js","sourceRoot":"","sources":["../../../src/commands/iam/add-principal.ts"],"names":[],"mappings":";;;;AAAA,sCAAuC;AACvC,0DAAyB;AACzB,6BAAuB;AACvB,yCAA0D;AAC1D,2CAAwD;AACxD,sDAAmD;AACnD,qDAAwD;AAExD,MAAa,YAAa,SAAQ,oBAAgC;IAqBzD,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,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,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,EAAE;SACrF,CAAC,CAAA;QACF,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACvC,CAAC;;AAnCH,oCAoCC;AAnCQ,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;QACtC,OAAO,EAAE,uBAAc,CAAC,KAAK;KAC9B,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"}
@@ -6,7 +6,7 @@ export declare class GetPolicies extends BaseCommand<typeof GetPolicies> {
6
6
  static examples: string[];
7
7
  static flags: {
8
8
  'principal-id': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
- 'principal-type': import("@oclif/core/lib/interfaces/parser").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ 'principal-type': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
10
  };
11
11
  run(): Promise<PolicyDto>;
12
12
  }
@@ -2,19 +2,35 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetPolicies = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const prompts_1 = require("@inquirer/prompts");
5
6
  const core_1 = require("@oclif/core");
7
+ const errors_1 = require("@oclif/core/lib/errors");
6
8
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
9
  const zod_1 = require("zod");
8
10
  const common_1 = require("../../common");
9
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");
10
14
  const affinidi_1 = require("../../services/affinidi");
11
15
  const iam_1 = require("../../services/affinidi/iam");
12
16
  class GetPolicies extends common_1.BaseCommand {
13
17
  async run() {
14
18
  const { flags } = await this.parse(GetPolicies);
15
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
+ }
25
+ promptFlags['principal-type'] ?? (promptFlags['principal-type'] = await (0, prompts_1.select)({
26
+ message: 'Select the principal-type',
27
+ choices: Object.values(common_1.PrincipalTypes).map((value) => ({
28
+ name: value,
29
+ value,
30
+ })),
31
+ }));
16
32
  const schema = zod_1.z.object({
17
- 'principal-id': zod_1.z.string().uuid(),
33
+ 'principal-id': zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT).uuid(),
18
34
  'principal-type': zod_1.z.nativeEnum(common_1.PrincipalTypes),
19
35
  });
20
36
  const validatedFlags = schema.parse(promptFlags);
@@ -44,7 +60,6 @@ GetPolicies.flags = {
44
60
  char: 't',
45
61
  summary: 'Type of the principal',
46
62
  options: Object.values(common_1.PrincipalTypes),
47
- default: common_1.PrincipalTypes.TOKEN,
48
63
  }),
49
64
  };
50
65
  //# sourceMappingURL=get-policies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-policies.js","sourceRoot":"","sources":["../../../src/commands/iam/get-policies.ts"],"names":[],"mappings":";;;;AAAA,sCAAuC;AACvC,0DAAyB;AACzB,6BAAuB;AACvB,yCAA0D;AAC1D,2CAAwD;AACxD,sDAAmD;AACnD,qDAAwD;AAGxD,MAAa,WAAY,SAAQ,oBAA+B;IAsBvD,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,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;;AAzCH,kCA0CC;AAzCQ,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;QACtC,OAAO,EAAE,uBAAc,CAAC,KAAK;KAC9B,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"}
@@ -5,7 +5,7 @@ export declare class RemovePrincipal extends BaseCommand<typeof RemovePrincipal>
5
5
  static examples: string[];
6
6
  static flags: {
7
7
  'principal-id': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
- 'principal-type': import("@oclif/core/lib/interfaces/parser").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ 'principal-type': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
9
  };
10
10
  run(): Promise<{
11
11
  'principal-id': string;
@@ -2,19 +2,35 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RemovePrincipal = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const prompts_1 = require("@inquirer/prompts");
5
6
  const core_1 = require("@oclif/core");
7
+ const errors_1 = require("@oclif/core/lib/errors");
6
8
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
9
  const zod_1 = require("zod");
8
10
  const common_1 = require("../../common");
9
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");
10
14
  const affinidi_1 = require("../../services/affinidi");
11
15
  const iam_1 = require("../../services/affinidi/iam");
12
16
  class RemovePrincipal extends common_1.BaseCommand {
13
17
  async run() {
14
18
  const { flags } = await this.parse(RemovePrincipal);
15
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
+ }
25
+ promptFlags['principal-type'] ?? (promptFlags['principal-type'] = await (0, prompts_1.select)({
26
+ message: 'Select the principal-type',
27
+ choices: Object.values(common_1.PrincipalTypes).map((value) => ({
28
+ name: value,
29
+ value,
30
+ })),
31
+ }));
16
32
  const schema = zod_1.z.object({
17
- 'principal-id': zod_1.z.string().uuid(),
33
+ 'principal-id': zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT).uuid(),
18
34
  'principal-type': zod_1.z.nativeEnum(common_1.PrincipalTypes),
19
35
  });
20
36
  const validatedFlags = schema.parse(promptFlags);
@@ -43,7 +59,6 @@ RemovePrincipal.flags = {
43
59
  char: 't',
44
60
  summary: 'Type of the principal',
45
61
  options: Object.values(common_1.PrincipalTypes),
46
- default: common_1.PrincipalTypes.TOKEN,
47
62
  }),
48
63
  };
49
64
  //# sourceMappingURL=remove-principal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove-principal.js","sourceRoot":"","sources":["../../../src/commands/iam/remove-principal.ts"],"names":[],"mappings":";;;;AAAA,sCAAuC;AACvC,0DAAyB;AACzB,6BAAuB;AACvB,yCAA0D;AAC1D,2CAAwD;AACxD,sDAAmD;AACnD,qDAAwD;AAExD,MAAa,eAAgB,SAAQ,oBAAmC;IAqB/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,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;;AA3CH,0CA4CC;AA3CQ,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;QACtC,OAAO,EAAE,uBAAc,CAAC,KAAK;KAC9B,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"}
@@ -6,7 +6,7 @@ export declare class UpdatePolicies extends BaseCommand<typeof UpdatePolicies> {
6
6
  static examples: string[];
7
7
  static flags: {
8
8
  'principal-id': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
- 'principal-type': import("@oclif/core/lib/interfaces/parser").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ 'principal-type': import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
10
  file: import("@oclif/core/lib/interfaces/parser").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
11
  };
12
12
  run(): Promise<PolicyDto>;
@@ -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,25 +10,39 @@ 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
+ }
26
+ promptFlags['principal-type'] ?? (promptFlags['principal-type'] = await (0, prompts_1.select)({
27
+ message: 'Select the principal-type',
28
+ choices: Object.values(common_1.PrincipalTypes).map((value) => ({
29
+ name: value,
30
+ value,
31
+ })),
32
+ }));
19
33
  const flagsSchema = zod_1.z.object({
20
- 'principal-id': zod_1.z.string().uuid(),
34
+ 'principal-id': zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT).uuid(),
21
35
  'principal-type': zod_1.z.nativeEnum(common_1.PrincipalTypes),
22
36
  file: zod_1.z.string().optional(),
23
37
  });
24
38
  const validatedFlags = flagsSchema.parse(promptFlags);
25
39
  const policiesDataSchema = zod_1.z.object({
26
- version: zod_1.z.string(),
40
+ version: zod_1.z.string().max(input_length_validation_1.INPUT_LIMIT),
27
41
  statement: zod_1.z
28
42
  .object({
29
- principal: zod_1.z.string().array().length(1),
30
- action: zod_1.z.string().array().nonempty(),
31
- 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(),
32
46
  effect: zod_1.z.literal('Allow'),
33
47
  })
34
48
  .array()
@@ -36,7 +50,7 @@ class UpdatePolicies extends common_1.BaseCommand {
36
50
  });
37
51
  let policiesData = null;
38
52
  if (validatedFlags.file) {
39
- const rawData = (0, fs_1.readFileSync)(validatedFlags.file, 'utf8');
53
+ const rawData = await (0, promises_1.readFile)(validatedFlags.file, 'utf8');
40
54
  try {
41
55
  policiesData = JSON.parse(rawData);
42
56
  }
@@ -45,10 +59,13 @@ class UpdatePolicies extends common_1.BaseCommand {
45
59
  }
46
60
  }
47
61
  else {
62
+ if (flags['no-input']) {
63
+ throw new errors_1.CLIError((0, generate_error_message_1.giveFlagInputErrorMessage)('file'));
64
+ }
48
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.`);
49
66
  this.warn('\nThis will override the existing principal statements');
50
- const resourceFilters = await (0, prompts_1.input)({ message: 'Enter the resource filters, separated by space' });
51
- 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);
52
69
  policiesData = {
53
70
  version: '2022-12-15',
54
71
  statement: [
@@ -66,11 +83,13 @@ class UpdatePolicies extends common_1.BaseCommand {
66
83
  const validatedPolicies = policiesDataSchema.parse(policiesData);
67
84
  this.log(`The following policies will be updated for principal ${chalk_1.default.inverse(validatedFlags['principal-id'])}:`);
68
85
  this.logJson(validatedPolicies);
69
- const confirmPolicies = await (0, prompts_1.confirm)({
70
- message: 'Update policies?',
71
- });
72
- if (!confirmPolicies) {
73
- 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
+ }
74
93
  }
75
94
  core_1.ux.action.start('Updating principal policies');
76
95
  const out = await iam_1.iamService.updatePolicies(affinidi_1.clientSDK.config.getProjectToken()?.projectAccessToken, validatedFlags['principal-id'], validatedFlags['principal-type'], validatedPolicies);
@@ -98,7 +117,6 @@ UpdatePolicies.flags = {
98
117
  char: 't',
99
118
  summary: 'Type of the principal',
100
119
  options: Object.values(common_1.PrincipalTypes),
101
- default: common_1.PrincipalTypes.TOKEN,
102
120
  }),
103
121
  file: core_1.Flags.string({
104
122
  char: 'f',
@@ -1 +1 @@
1
- {"version":3,"file":"update-policies.js","sourceRoot":"","sources":["../../../src/commands/iam/update-policies.ts"],"names":[],"mappings":";;;;AAAA,2BAAiC;AACjC,+CAAkD;AAClD,sCAAuC;AACvC,mDAAiD;AACjD,0DAAyB;AACzB,6BAAuB;AACvB,yCAA0D;AAC1D,2CAAwD;AACxD,sDAAmD;AACnD,qDAAwD;AAGxD,MAAa,cAAe,SAAQ,oBAAkC;IA0B7D,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,cAAc,CAAC,EAAE,KAAK,CAAC,CAAA;QAC3E,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;YAC3B,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;YACjC,gBAAgB,EAAE,OAAC,CAAC,UAAU,CAAC,uBAAc,CAAC;YAC9C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAErD,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;YAClC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;YACnB,SAAS,EAAE,OAAC;iBACT,MAAM,CAAC;gBACN,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;gBACrC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;gBACvC,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC;aAC3B,CAAC;iBACD,KAAK,EAAE;iBACP,QAAQ,EAAE;SACd,CAAC,CAAA;QACF,IAAI,YAAY,GAAG,IAAI,CAAA;QACvB,IAAI,cAAc,CAAC,IAAI,EAAE;YACvB,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACzD,IAAI;gBACF,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;aACnC;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,iBAAQ,CAAC,sCAAuC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;aACrF;SACF;aAAM;YACL,IAAI,CAAC,GAAG,CACN,oGAAoG,eAAK,CAAC,OAAO,CAC/G,QAAQ,CACT,gBAAgB,CAClB,CAAA;YACD,IAAI,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;YACnE,MAAM,eAAe,GAAG,MAAM,IAAA,eAAK,EAAC,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAA;YAClG,MAAM,OAAO,GAAG,MAAM,IAAA,eAAK,EAAC,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAA;YAEzF,YAAY,GAAG;gBACb,OAAO,EAAE,YAAY;gBACrB,SAAS,EAAE;oBACT;wBACE,SAAS,EAAE;4BACT,YAAY,oBAAS,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,SAAS,IAAI,cAAc,CAAC,gBAAgB,CAAC,IAC3F,cAAc,CAAC,cAAc,CAC/B,EAAE;yBACH;wBACD,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;wBAC1B,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;wBACpC,MAAM,EAAE,OAAO;qBAChB;iBACF;aACF,CAAA;SACF;QACD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAEhE,IAAI,CAAC,GAAG,CAAC,wDAAwD,eAAK,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAA;QAClH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAC/B,MAAM,eAAe,GAAG,MAAM,IAAA,iBAAO,EAAC;YACpC,OAAO,EAAE,kBAAkB;SAC5B,CAAC,CAAA;QAEF,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,iBAAQ,CAAC,iBAAiB,CAAC,CAAA;SACtC;QACD,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC9C,MAAM,GAAG,GAAG,MAAM,gBAAU,CAAC,cAAc,CACzC,oBAAS,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,kBAAkB,EACtD,cAAc,CAAC,cAAc,CAAC,EAC9B,cAAc,CAAC,gBAAgB,CAAC,EAChC,iBAAiB,CAClB,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;;AAxGH,wCAyGC;AAxGQ,sBAAO,GAAG,2EAA2E,CAAA;AACrF,0BAAW,GAAG;kBACL,eAAK,CAAC,OAAO,CAAC,iCAAiC,CAAC,gCAAgC,CAAA;AACzF,uBAAQ,GAAG;IAChB,+CAA+C;IAC/C,8GAA8G;CAC/G,CAAA;AACM,oBAAK,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;QACtC,OAAO,EAAE,uBAAc,CAAC,KAAK;KAC9B,CAAC;IACF,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,uDAAuD;KACjE,CAAC;CACH,CAAA"}
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"}