@sap-ux/abap-deploy-config-inquirer 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +93 -0
  3. package/dist/constants.d.ts +4 -0
  4. package/dist/constants.d.ts.map +1 -0
  5. package/dist/constants.js +7 -0
  6. package/dist/constants.js.map +1 -0
  7. package/dist/error-handler.d.ts +13 -0
  8. package/dist/error-handler.d.ts.map +1 -0
  9. package/dist/error-handler.js +33 -0
  10. package/dist/error-handler.js.map +1 -0
  11. package/dist/i18n.d.ts +14 -0
  12. package/dist/i18n.d.ts.map +1 -0
  13. package/dist/i18n.js +34 -0
  14. package/dist/i18n.js.map +1 -0
  15. package/dist/index.d.ts +27 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +52 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/logger-helper.d.ts +20 -0
  20. package/dist/logger-helper.d.ts.map +1 -0
  21. package/dist/logger-helper.js +27 -0
  22. package/dist/logger-helper.js.map +1 -0
  23. package/dist/prompts/conditions.d.ts +117 -0
  24. package/dist/prompts/conditions.d.ts.map +1 -0
  25. package/dist/prompts/conditions.js +299 -0
  26. package/dist/prompts/conditions.js.map +1 -0
  27. package/dist/prompts/defaults.d.ts +45 -0
  28. package/dist/prompts/defaults.d.ts.map +1 -0
  29. package/dist/prompts/defaults.js +91 -0
  30. package/dist/prompts/defaults.js.map +1 -0
  31. package/dist/prompts/helpers.d.ts +54 -0
  32. package/dist/prompts/helpers.d.ts.map +1 -0
  33. package/dist/prompts/helpers.js +234 -0
  34. package/dist/prompts/helpers.js.map +1 -0
  35. package/dist/prompts/index.d.ts +9 -0
  36. package/dist/prompts/index.d.ts.map +1 -0
  37. package/dist/prompts/index.js +30 -0
  38. package/dist/prompts/index.js.map +1 -0
  39. package/dist/prompts/prompt-state.d.ts +38 -0
  40. package/dist/prompts/prompt-state.d.ts.map +1 -0
  41. package/dist/prompts/prompt-state.js +59 -0
  42. package/dist/prompts/prompt-state.js.map +1 -0
  43. package/dist/prompts/questions/abap-target.d.ts +10 -0
  44. package/dist/prompts/questions/abap-target.d.ts.map +1 -0
  45. package/dist/prompts/questions/abap-target.js +219 -0
  46. package/dist/prompts/questions/abap-target.js.map +1 -0
  47. package/dist/prompts/questions/auth.d.ts +10 -0
  48. package/dist/prompts/questions/auth.d.ts.map +1 -0
  49. package/dist/prompts/questions/auth.js +55 -0
  50. package/dist/prompts/questions/auth.js.map +1 -0
  51. package/dist/prompts/questions/config/app.d.ts +10 -0
  52. package/dist/prompts/questions/config/app.d.ts.map +1 -0
  53. package/dist/prompts/questions/config/app.js +68 -0
  54. package/dist/prompts/questions/config/app.js.map +1 -0
  55. package/dist/prompts/questions/config/index.d.ts +4 -0
  56. package/dist/prompts/questions/config/index.d.ts.map +1 -0
  57. package/dist/prompts/questions/config/index.js +20 -0
  58. package/dist/prompts/questions/config/index.js.map +1 -0
  59. package/dist/prompts/questions/config/package.d.ts +10 -0
  60. package/dist/prompts/questions/config/package.d.ts.map +1 -0
  61. package/dist/prompts/questions/config/package.js +91 -0
  62. package/dist/prompts/questions/config/package.js.map +1 -0
  63. package/dist/prompts/questions/config/transport.d.ts +10 -0
  64. package/dist/prompts/questions/config/transport.d.ts.map +1 -0
  65. package/dist/prompts/questions/config/transport.js +91 -0
  66. package/dist/prompts/questions/config/transport.js.map +1 -0
  67. package/dist/prompts/questions/confirm.d.ts +10 -0
  68. package/dist/prompts/questions/confirm.d.ts.map +1 -0
  69. package/dist/prompts/questions/confirm.js +55 -0
  70. package/dist/prompts/questions/confirm.js.map +1 -0
  71. package/dist/prompts/questions/index.d.ts +5 -0
  72. package/dist/prompts/questions/index.d.ts.map +1 -0
  73. package/dist/prompts/questions/index.js +21 -0
  74. package/dist/prompts/questions/index.js.map +1 -0
  75. package/dist/prompts/validators.d.ts +138 -0
  76. package/dist/prompts/validators.d.ts.map +1 -0
  77. package/dist/prompts/validators.js +459 -0
  78. package/dist/prompts/validators.js.map +1 -0
  79. package/dist/service-provider-utils/abap-service-provider.d.ts +19 -0
  80. package/dist/service-provider-utils/abap-service-provider.d.ts.map +1 -0
  81. package/dist/service-provider-utils/abap-service-provider.js +89 -0
  82. package/dist/service-provider-utils/abap-service-provider.js.map +1 -0
  83. package/dist/service-provider-utils/create-transport.d.ts +12 -0
  84. package/dist/service-provider-utils/create-transport.d.ts.map +1 -0
  85. package/dist/service-provider-utils/create-transport.js +35 -0
  86. package/dist/service-provider-utils/create-transport.js.map +1 -0
  87. package/dist/service-provider-utils/index.d.ts +6 -0
  88. package/dist/service-provider-utils/index.d.ts.map +1 -0
  89. package/dist/service-provider-utils/index.js +22 -0
  90. package/dist/service-provider-utils/index.js.map +1 -0
  91. package/dist/service-provider-utils/list-packages.d.ts +11 -0
  92. package/dist/service-provider-utils/list-packages.d.ts.map +1 -0
  93. package/dist/service-provider-utils/list-packages.js +37 -0
  94. package/dist/service-provider-utils/list-packages.js.map +1 -0
  95. package/dist/service-provider-utils/transport-config.d.ts +18 -0
  96. package/dist/service-provider-utils/transport-config.d.ts.map +1 -0
  97. package/dist/service-provider-utils/transport-config.js +211 -0
  98. package/dist/service-provider-utils/transport-config.js.map +1 -0
  99. package/dist/service-provider-utils/transport-list.d.ts +16 -0
  100. package/dist/service-provider-utils/transport-list.d.ts.map +1 -0
  101. package/dist/service-provider-utils/transport-list.js +56 -0
  102. package/dist/service-provider-utils/transport-list.js.map +1 -0
  103. package/dist/translations/abap-deploy-config-inquirer.i18n.json +146 -0
  104. package/dist/types.d.ts +165 -0
  105. package/dist/types.d.ts.map +1 -0
  106. package/dist/types.js +46 -0
  107. package/dist/types.js.map +1 -0
  108. package/dist/utils.d.ts +90 -0
  109. package/dist/utils.d.ts.map +1 -0
  110. package/dist/utils.js +233 -0
  111. package/dist/utils.js.map +1 -0
  112. package/dist/validator-utils.d.ts +75 -0
  113. package/dist/validator-utils.d.ts.map +1 -0
  114. package/dist/validator-utils.js +172 -0
  115. package/dist/validator-utils.js.map +1 -0
  116. package/package.json +48 -0
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.deleteCachedServiceProvider = exports.getOrCreateServiceProvider = void 0;
7
+ const btp_utils_1 = require("@sap-ux/btp-utils");
8
+ const utils_1 = require("../utils");
9
+ const system_access_1 = require("@sap-ux/system-access");
10
+ const store_1 = require("@sap-ux/store");
11
+ const prompt_state_1 = require("../prompts/prompt-state");
12
+ const logger_helper_1 = __importDefault(require("../logger-helper"));
13
+ let abapServiceProvider;
14
+ let system;
15
+ /**
16
+ * Get or create an abap service provider.
17
+ *
18
+ * @param systemConfig - system configuration
19
+ * @param backendTarget - backend target from prompt options
20
+ * @param credentials - user credentials
21
+ * @returns abap service provider
22
+ */
23
+ async function getOrCreateServiceProvider(systemConfig, backendTarget, credentials) {
24
+ // use cached service provider
25
+ if (abapServiceProvider && (0, utils_1.isSameSystem)(systemConfig, system?.url, system?.client, system?.destination)) {
26
+ return abapServiceProvider;
27
+ }
28
+ // use connected service provider
29
+ if (backendTarget?.serviceProvider &&
30
+ (0, utils_1.isSameSystem)(systemConfig, backendTarget?.abapTarget.url, backendTarget?.abapTarget.client, backendTarget?.abapTarget.destination)) {
31
+ abapServiceProvider = backendTarget.serviceProvider;
32
+ system = backendTarget.abapTarget;
33
+ return abapServiceProvider;
34
+ }
35
+ abapServiceProvider = await createNewServiceProvider(credentials);
36
+ return abapServiceProvider;
37
+ }
38
+ exports.getOrCreateServiceProvider = getOrCreateServiceProvider;
39
+ /**
40
+ * Create a new abap service provider using @sap-ux/system-access.
41
+ *
42
+ * @param credentials - user credentials
43
+ * @returns abap service provider
44
+ */
45
+ async function createNewServiceProvider(credentials) {
46
+ let abapTarget;
47
+ if ((0, btp_utils_1.isAppStudio)()) {
48
+ abapTarget = { destination: prompt_state_1.PromptState.abapDeployConfig.destination };
49
+ }
50
+ else {
51
+ abapTarget = {
52
+ url: prompt_state_1.PromptState.abapDeployConfig.url,
53
+ client: prompt_state_1.PromptState.abapDeployConfig.client,
54
+ scp: prompt_state_1.PromptState.abapDeployConfig.scp
55
+ };
56
+ if (prompt_state_1.PromptState.abapDeployConfig.isS4HC) {
57
+ abapTarget.authenticationType = store_1.AuthenticationType.ReentranceTicket;
58
+ }
59
+ }
60
+ let auth;
61
+ if (credentials?.username && credentials?.password) {
62
+ auth = {
63
+ username: credentials.username,
64
+ password: credentials.password
65
+ };
66
+ }
67
+ const requestOptions = {
68
+ ignoreCertErrors: false,
69
+ auth
70
+ };
71
+ const serviceProvider = await (0, system_access_1.createAbapServiceProvider)(abapTarget, requestOptions, false, logger_helper_1.default.logger);
72
+ system = {
73
+ url: prompt_state_1.PromptState.abapDeployConfig.url,
74
+ client: prompt_state_1.PromptState.abapDeployConfig.client,
75
+ destination: prompt_state_1.PromptState.abapDeployConfig.destination
76
+ };
77
+ return serviceProvider;
78
+ }
79
+ /**
80
+ * An abapServiceProvider is cached when it is created. However, we have scenarios such as to test
81
+ * query the backend and then show user credential prompts if getting 401 error response. In this case,
82
+ * we need to clear the cached service provider, and allow createNewServiceProvider to be called again
83
+ * after user provided user credentials.
84
+ */
85
+ async function deleteCachedServiceProvider() {
86
+ abapServiceProvider = undefined;
87
+ }
88
+ exports.deleteCachedServiceProvider = deleteCachedServiceProvider;
89
+ //# sourceMappingURL=abap-service-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abap-service-provider.js","sourceRoot":"","sources":["../../src/service-provider-utils/abap-service-provider.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAgD;AAChD,oCAAwC;AACxC,yDAAkE;AAClE,yCAAmD;AACnD,0DAAsD;AACtD,qEAA4C;AAM5C,IAAI,mBAAoD,CAAC;AACzD,IAAI,MAAoB,CAAC;AAEzB;;;;;;;GAOG;AACI,KAAK,UAAU,0BAA0B,CAC5C,YAA0B,EAC1B,aAA6B,EAC7B,WAAyB;IAEzB,8BAA8B;IAC9B,IAAI,mBAAmB,IAAI,IAAA,oBAAY,EAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QACtG,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IACD,iCAAiC;IACjC,IACI,aAAa,EAAE,eAAe;QAC9B,IAAA,oBAAY,EACR,YAAY,EACZ,aAAa,EAAE,UAAU,CAAC,GAAG,EAC7B,aAAa,EAAE,UAAU,CAAC,MAAM,EAChC,aAAa,EAAE,UAAU,CAAC,WAAW,CACxC,EACH,CAAC;QACC,mBAAmB,GAAG,aAAa,CAAC,eAAsC,CAAC;QAC3E,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC;QAClC,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IACD,mBAAmB,GAAG,MAAM,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAClE,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAzBD,gEAyBC;AAED;;;;;GAKG;AACH,KAAK,UAAU,wBAAwB,CAAC,WAAyB;IAC7D,IAAI,UAAsB,CAAC;IAC3B,IAAI,IAAA,uBAAW,GAAE,EAAE,CAAC;QAChB,UAAU,GAAG,EAAE,WAAW,EAAE,0BAAW,CAAC,gBAAgB,CAAC,WAAW,EAA2B,CAAC;IACpG,CAAC;SAAM,CAAC;QACJ,UAAU,GAAG;YACT,GAAG,EAAE,0BAAW,CAAC,gBAAgB,CAAC,GAAG;YACrC,MAAM,EAAE,0BAAW,CAAC,gBAAgB,CAAC,MAAM;YAC3C,GAAG,EAAE,0BAAW,CAAC,gBAAgB,CAAC,GAAG;SACvB,CAAC;QACnB,IAAI,0BAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACtC,UAAU,CAAC,kBAAkB,GAAG,0BAAkB,CAAC,gBAAgB,CAAC;QACxE,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC;IACT,IAAI,WAAW,EAAE,QAAQ,IAAI,WAAW,EAAE,QAAQ,EAAE,CAAC;QACjD,IAAI,GAAG;YACH,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;SACjC,CAAC;IACN,CAAC;IAED,MAAM,cAAc,GAAG;QACnB,gBAAgB,EAAE,KAAK;QACvB,IAAI;KACP,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,IAAA,yCAAyB,EAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAY,CAAC,MAAM,CAAC,CAAC;IAEhH,MAAM,GAAG;QACL,GAAG,EAAE,0BAAW,CAAC,gBAAgB,CAAC,GAAG;QACrC,MAAM,EAAE,0BAAW,CAAC,gBAAgB,CAAC,MAAM;QAC3C,WAAW,EAAE,0BAAW,CAAC,gBAAgB,CAAC,WAAW;KACxD,CAAC;IAEF,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,2BAA2B;IAC7C,mBAAmB,GAAG,SAAS,CAAC;AACpC,CAAC;AAFD,kEAEC"}
@@ -0,0 +1,12 @@
1
+ import type { NewUi5ObjectRequestParams } from '@sap-ux/axios-extension';
2
+ import type { BackendTarget, SystemConfig } from '../types';
3
+ /**
4
+ * Create a transport number from the service.
5
+ *
6
+ * @param createTransportParams - input parameters for creating a new transport request for an UI5 app object
7
+ * @param systemConfig - system configuration
8
+ * @param backendTarget - backend target
9
+ * @returns transport number if created successfully, otherwise undefined
10
+ */
11
+ export declare function createTransportNumberFromService(createTransportParams: NewUi5ObjectRequestParams, systemConfig: SystemConfig, backendTarget?: BackendTarget): Promise<string | undefined>;
12
+ //# sourceMappingURL=create-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-transport.d.ts","sourceRoot":"","sources":["../../src/service-provider-utils/create-transport.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5D;;;;;;;GAOG;AACH,wBAAsB,gCAAgC,CAClD,qBAAqB,EAAE,yBAAyB,EAChD,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE,aAAa,GAC9B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAe7B"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createTransportNumberFromService = void 0;
7
+ const axios_extension_1 = require("@sap-ux/axios-extension");
8
+ const i18n_1 = require("../i18n");
9
+ const abap_service_provider_1 = require("./abap-service-provider");
10
+ const logger_helper_1 = __importDefault(require("../logger-helper"));
11
+ /**
12
+ * Create a transport number from the service.
13
+ *
14
+ * @param createTransportParams - input parameters for creating a new transport request for an UI5 app object
15
+ * @param systemConfig - system configuration
16
+ * @param backendTarget - backend target
17
+ * @returns transport number if created successfully, otherwise undefined
18
+ */
19
+ async function createTransportNumberFromService(createTransportParams, systemConfig, backendTarget) {
20
+ let transportReqNumber;
21
+ try {
22
+ const provider = await (0, abap_service_provider_1.getOrCreateServiceProvider)(systemConfig, backendTarget);
23
+ const adtService = await provider.getAdtService(axios_extension_1.TransportRequestService);
24
+ if (adtService) {
25
+ transportReqNumber = await adtService.createTransportRequest(createTransportParams);
26
+ }
27
+ }
28
+ catch (e) {
29
+ logger_helper_1.default.logger.debug((0, i18n_1.t)('errors.debugAbapTargetSystem', { method: 'createTransportNumberFromService', error: e.message }));
30
+ return undefined;
31
+ }
32
+ return transportReqNumber;
33
+ }
34
+ exports.createTransportNumberFromService = createTransportNumberFromService;
35
+ //# sourceMappingURL=create-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-transport.js","sourceRoot":"","sources":["../../src/service-provider-utils/create-transport.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAkE;AAClE,kCAA4B;AAC5B,mEAAqE;AACrE,qEAA4C;AAI5C;;;;;;;GAOG;AACI,KAAK,UAAU,gCAAgC,CAClD,qBAAgD,EAChD,YAA0B,EAC1B,aAA6B;IAE7B,IAAI,kBAAsC,CAAC;IAC3C,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,kDAA0B,EAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,aAAa,CAA0B,yCAAuB,CAAC,CAAC;QAClG,IAAI,UAAU,EAAE,CAAC;YACb,kBAAkB,GAAG,MAAM,UAAU,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;QACxF,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,uBAAY,CAAC,MAAM,CAAC,KAAK,CACrB,IAAA,QAAC,EAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,kCAAkC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CACtG,CAAC;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC9B,CAAC;AAnBD,4EAmBC"}
@@ -0,0 +1,6 @@
1
+ export * from './abap-service-provider';
2
+ export * from './create-transport';
3
+ export * from './list-packages';
4
+ export * from './transport-config';
5
+ export * from './transport-list';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service-provider-utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./abap-service-provider"), exports);
18
+ __exportStar(require("./create-transport"), exports);
19
+ __exportStar(require("./list-packages"), exports);
20
+ __exportStar(require("./transport-config"), exports);
21
+ __exportStar(require("./transport-list"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service-provider-utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,qDAAmC;AACnC,kDAAgC;AAChC,qDAAmC;AACnC,mDAAiC"}
@@ -0,0 +1,11 @@
1
+ import type { BackendTarget, SystemConfig } from '../types';
2
+ /**
3
+ * List packages from the service.
4
+ *
5
+ * @param phrase - search phrase
6
+ * @param systemConfig - system configuration
7
+ * @param backendTarget - backend target from abap deploy config prompt options
8
+ * @returns list of packages
9
+ */
10
+ export declare function listPackagesFromService(phrase: string, systemConfig: SystemConfig, backendTarget?: BackendTarget): Promise<string[]>;
11
+ //# sourceMappingURL=list-packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-packages.d.ts","sourceRoot":"","sources":["../../src/service-provider-utils/list-packages.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5D;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CACzC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE,aAAa,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBnB"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.listPackagesFromService = void 0;
7
+ const axios_extension_1 = require("@sap-ux/axios-extension");
8
+ const abap_service_provider_1 = require("./abap-service-provider");
9
+ const constants_1 = require("../constants");
10
+ const i18n_1 = require("../i18n");
11
+ const logger_helper_1 = __importDefault(require("../logger-helper"));
12
+ /**
13
+ * List packages from the service.
14
+ *
15
+ * @param phrase - search phrase
16
+ * @param systemConfig - system configuration
17
+ * @param backendTarget - backend target from abap deploy config prompt options
18
+ * @returns list of packages
19
+ */
20
+ async function listPackagesFromService(phrase, systemConfig, backendTarget) {
21
+ try {
22
+ const provider = await (0, abap_service_provider_1.getOrCreateServiceProvider)(systemConfig, backendTarget);
23
+ const adtService = await provider.getAdtService(axios_extension_1.ListPackageService);
24
+ if (adtService) {
25
+ return await adtService.listPackages({
26
+ maxResults: constants_1.ABAP_PACKAGE_SEARCH_MAX_RESULTS,
27
+ phrase
28
+ });
29
+ }
30
+ }
31
+ catch (e) {
32
+ logger_helper_1.default.logger.debug((0, i18n_1.t)('errors.debugAbapTargetSystem', { method: 'listPackagesFromService', error: e.message }));
33
+ }
34
+ return [];
35
+ }
36
+ exports.listPackagesFromService = listPackagesFromService;
37
+ //# sourceMappingURL=list-packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-packages.js","sourceRoot":"","sources":["../../src/service-provider-utils/list-packages.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA6D;AAC7D,mEAAqE;AACrE,4CAA+D;AAC/D,kCAA4B;AAC5B,qEAA4C;AAG5C;;;;;;;GAOG;AACI,KAAK,UAAU,uBAAuB,CACzC,MAAc,EACd,YAA0B,EAC1B,aAA6B;IAE7B,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,kDAA0B,EAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAqB,oCAAkB,CAAC,CAAC;QACxF,IAAI,UAAU,EAAE,CAAC;YACb,OAAO,MAAM,UAAU,CAAC,YAAY,CAAC;gBACjC,UAAU,EAAE,2CAA+B;gBAC3C,MAAM;aACT,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,uBAAY,CAAC,MAAM,CAAC,KAAK,CACrB,IAAA,QAAC,EAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAC7F,CAAC;IACN,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AApBD,0DAoBC"}
@@ -0,0 +1,18 @@
1
+ import type { InitTransportConfigResult, SystemConfig, Credentials, BackendTarget } from '../types';
2
+ /**
3
+ * Returns the transport configuration instance.
4
+ *
5
+ * @param transportConfigOptions - transport configuration options
6
+ * @param transportConfigOptions.backendTarget - backend target from prompt options
7
+ * @param transportConfigOptions.scp - scp
8
+ * @param transportConfigOptions.systemConfig - system configuration
9
+ * @param transportConfigOptions.credentials - user credentials
10
+ * @returns transport configuration instance
11
+ */
12
+ export declare function getTransportConfigInstance({ backendTarget, scp, credentials, systemConfig }: {
13
+ backendTarget?: BackendTarget;
14
+ scp?: boolean;
15
+ credentials?: Credentials;
16
+ systemConfig: SystemConfig;
17
+ }): Promise<InitTransportConfigResult>;
18
+ //# sourceMappingURL=transport-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-config.d.ts","sourceRoot":"","sources":["../../src/service-provider-utils/transport-config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAmB,yBAAyB,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAqNrH;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAAC,EAC7C,aAAa,EACb,GAAG,EACH,WAAW,EACX,YAAY,EACf,EAAE;IACC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;CAC9B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAMrC"}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getTransportConfigInstance = void 0;
7
+ const axios_extension_1 = require("@sap-ux/axios-extension");
8
+ const i18n_1 = require("../i18n");
9
+ const abap_service_provider_1 = require("./abap-service-provider");
10
+ const logger_helper_1 = __importDefault(require("../logger-helper"));
11
+ /**
12
+ * Dummy transport configuration.
13
+ */
14
+ class DummyTransportConfig {
15
+ /**
16
+ * Returns the package.
17
+ *
18
+ * @returns string | undefined
19
+ */
20
+ getPackage() {
21
+ return undefined;
22
+ }
23
+ /**
24
+ * Returns the application prefix.
25
+ *
26
+ * @returns string | undefined
27
+ */
28
+ getApplicationPrefix() {
29
+ return undefined;
30
+ }
31
+ /**
32
+ * Returns whether transport is required.
33
+ *
34
+ * @returns boolean
35
+ */
36
+ isTransportRequired() {
37
+ return false;
38
+ }
39
+ /**
40
+ * Returns the transport.
41
+ *
42
+ * @returns string | undefined
43
+ */
44
+ getDefaultTransport() {
45
+ return undefined;
46
+ }
47
+ /**
48
+ * Returns the operations type.
49
+ *
50
+ * @returns string | undefined
51
+ */
52
+ getOperationsType() {
53
+ return undefined;
54
+ }
55
+ }
56
+ /**
57
+ * Default transport configuration.
58
+ */
59
+ class DefaultTransportConfig {
60
+ static S4C_DEFAULT_TRANSPORT = '';
61
+ static S4C_DEFAULT_PACKAGE = 'TEST_YY1_DEFAULT';
62
+ /**
63
+ * Returns the default transport.
64
+ *
65
+ * @returns string | undefined
66
+ */
67
+ getDefaultTransport() {
68
+ return this.defaultTransport;
69
+ }
70
+ atoSettings = {};
71
+ defaultTransport = undefined;
72
+ /**
73
+ * Returns the development package.
74
+ *
75
+ * @returns string | undefined
76
+ */
77
+ getPackage() {
78
+ return this.atoSettings.developmentPackage;
79
+ }
80
+ /**
81
+ * Returns the application prefix.
82
+ *
83
+ * @returns string | undefined
84
+ */
85
+ getApplicationPrefix() {
86
+ return this.atoSettings.developmentPrefix;
87
+ }
88
+ /**
89
+ * Returns whether a transport request is required.
90
+ *
91
+ * @returns boolean
92
+ */
93
+ isTransportRequired() {
94
+ return !!this.atoSettings.isTransportRequestRequired;
95
+ }
96
+ /**
97
+ * Returns the operations type.
98
+ *
99
+ * @returns string | undefined
100
+ */
101
+ getOperationsType() {
102
+ return this.atoSettings?.operationsType;
103
+ }
104
+ /**
105
+ * Initialises the transport configuration.
106
+ *
107
+ * @param initParams - init transport config parameters
108
+ * @param initParams.backendTarget - backend target from prompt options
109
+ * @param initParams.systemConfig - system configuration
110
+ * @param initParams.credentials - user credentials
111
+ * @returns init transport config result
112
+ */
113
+ async init({ backendTarget, systemConfig, credentials }) {
114
+ const result = {};
115
+ try {
116
+ const provider = await (0, abap_service_provider_1.getOrCreateServiceProvider)(systemConfig, backendTarget, credentials);
117
+ const atoService = await provider.getAdtService(axios_extension_1.AtoService);
118
+ const atoSettings = await atoService?.getAtoInfo();
119
+ if (atoSettings) {
120
+ result.error = this.handleAtoResponse(atoSettings);
121
+ }
122
+ }
123
+ catch (err) {
124
+ await (0, abap_service_provider_1.deleteCachedServiceProvider)();
125
+ if (err.response?.status === 401) {
126
+ const auth = err.response.headers['www-authenticate'];
127
+ if (auth?.toLowerCase()?.startsWith('basic')) {
128
+ result.transportConfigNeedsCreds = true;
129
+ }
130
+ }
131
+ else {
132
+ // Everything from network errors to service being inactive is a warning.
133
+ // Will be logged and the user is allowed to move on
134
+ // Business errors will be returned by the ATO response above and these act as hard stops
135
+ result.warning = err.message;
136
+ result.transportConfigNeedsCreds = false;
137
+ }
138
+ logger_helper_1.default.logger.debug((0, i18n_1.t)('errors.debugAbapTargetSystem', { method: 'init', error: err.message }));
139
+ }
140
+ const initSuccessful = !result.error && !result.transportConfigNeedsCreds;
141
+ // transportConfig is not initialised, so use dummy transport config
142
+ result.transportConfig = initSuccessful ? this : this.getDummyConfig();
143
+ return result;
144
+ }
145
+ /**
146
+ * Checks the ATO response.
147
+ *
148
+ * @param atoSettings - ATO settings
149
+ * @returns error message or undefined
150
+ */
151
+ handleAtoResponse(atoSettings) {
152
+ let validationRequired = false;
153
+ this.atoSettings = atoSettings;
154
+ // Ignore ATO settings if these parameters are not met
155
+ if (this.atoSettings.isConfigured &&
156
+ this.atoSettings.tenantType === 'CUSTOMER' &&
157
+ this.atoSettings.operationsType === 'C') {
158
+ if (!this.atoSettings.isExtensibilityDevelopmentSystem) {
159
+ return (0, i18n_1.t)('errors.s4SystemNoExtensible');
160
+ }
161
+ if (!this.atoSettings.developmentPrefix) {
162
+ return (0, i18n_1.t)('errors.incorrectAtoSettings');
163
+ }
164
+ validationRequired = true;
165
+ this.applyS4CDefaults();
166
+ }
167
+ // We only validate if it's a customer system with Cloud operations type
168
+ if (!validationRequired) {
169
+ this.atoSettings = { operationsType: this.atoSettings.operationsType };
170
+ }
171
+ return undefined; // No errors
172
+ }
173
+ /**
174
+ * Applies the S/4HANA Cloud defaults.
175
+ */
176
+ applyS4CDefaults() {
177
+ this.defaultTransport = DefaultTransportConfig.S4C_DEFAULT_TRANSPORT;
178
+ this.atoSettings.isTransportRequestRequired = false;
179
+ this.atoSettings.developmentPackage = DefaultTransportConfig.S4C_DEFAULT_PACKAGE;
180
+ }
181
+ /**
182
+ * Returns a dummy transport configuration.
183
+ *
184
+ * @returns dummy transport configuration
185
+ */
186
+ getDummyConfig() {
187
+ const config = new DummyTransportConfig();
188
+ // we still need to expose the ato settings operation type
189
+ // this will be used to determine the default package i.e if on-prem (P) then default to $tmp
190
+ config.getOperationsType = this.getOperationsType;
191
+ return config;
192
+ }
193
+ }
194
+ /**
195
+ * Returns the transport configuration instance.
196
+ *
197
+ * @param transportConfigOptions - transport configuration options
198
+ * @param transportConfigOptions.backendTarget - backend target from prompt options
199
+ * @param transportConfigOptions.scp - scp
200
+ * @param transportConfigOptions.systemConfig - system configuration
201
+ * @param transportConfigOptions.credentials - user credentials
202
+ * @returns transport configuration instance
203
+ */
204
+ async function getTransportConfigInstance({ backendTarget, scp, credentials, systemConfig }) {
205
+ if (scp) {
206
+ return { transportConfig: new DummyTransportConfig() };
207
+ }
208
+ return new DefaultTransportConfig().init({ backendTarget, systemConfig, credentials });
209
+ }
210
+ exports.getTransportConfigInstance = getTransportConfigInstance;
211
+ //# sourceMappingURL=transport-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-config.js","sourceRoot":"","sources":["../../src/service-provider-utils/transport-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { BackendTarget, SystemConfig, TransportListItem } from '../types';
2
+ /**
3
+ * Get the transport list from the service.
4
+ *
5
+ * @param packageName - package name
6
+ * @param appName - app name
7
+ * @param systemConfig - system configuration
8
+ * @param backendTarget - backend target
9
+ * @returns list of transport numbers.
10
+ */
11
+ export declare function getTransportListFromService(packageName: string, appName: string, systemConfig: SystemConfig, backendTarget?: BackendTarget): Promise<TransportListItem[] | undefined>;
12
+ export declare const transportName: (transport: TransportListItem) => {
13
+ name: string;
14
+ value: string;
15
+ };
16
+ //# sourceMappingURL=transport-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-list.d.ts","sourceRoot":"","sources":["../../src/service-provider-utils/transport-list.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAI/E;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC7C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE,aAAa,GAC9B,OAAO,CAAC,iBAAiB,EAAE,GAAG,SAAS,CAAC,CAyB1C;AAED,eAAO,MAAM,aAAa,cAAe,iBAAiB;;;CAQzD,CAAC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.transportName = exports.getTransportListFromService = void 0;
7
+ const axios_extension_1 = require("@sap-ux/axios-extension");
8
+ const i18n_1 = require("../i18n");
9
+ const abap_service_provider_1 = require("./abap-service-provider");
10
+ const logger_helper_1 = __importDefault(require("../logger-helper"));
11
+ const prompt_state_1 = require("../prompts/prompt-state");
12
+ /**
13
+ * Get the transport list from the service.
14
+ *
15
+ * @param packageName - package name
16
+ * @param appName - app name
17
+ * @param systemConfig - system configuration
18
+ * @param backendTarget - backend target
19
+ * @returns list of transport numbers.
20
+ */
21
+ async function getTransportListFromService(packageName, appName, systemConfig, backendTarget) {
22
+ let transportListItems;
23
+ try {
24
+ const provider = await (0, abap_service_provider_1.getOrCreateServiceProvider)(systemConfig, backendTarget);
25
+ const adtService = await provider.getAdtService(axios_extension_1.TransportChecksService);
26
+ const transportReqList = await adtService?.getTransportRequests(packageName, appName);
27
+ if (transportReqList) {
28
+ transportListItems = transportReqList.map((transportReq) => {
29
+ return {
30
+ transportReqNumber: transportReq.transportNumber,
31
+ transportReqDescription: transportReq.description
32
+ };
33
+ });
34
+ }
35
+ }
36
+ catch (e) {
37
+ if (e.message === axios_extension_1.TransportChecksService.LocalPackageError) {
38
+ prompt_state_1.PromptState.transportAnswers.transportRequired = false;
39
+ }
40
+ logger_helper_1.default.logger.debug((0, i18n_1.t)('errors.debugAbapTargetSystem', { method: 'getTransportListFromService', error: e.message }));
41
+ return undefined;
42
+ }
43
+ return transportListItems;
44
+ }
45
+ exports.getTransportListFromService = getTransportListFromService;
46
+ const transportName = (transport) => {
47
+ const name = transport.transportReqDescription
48
+ ? `${transport.transportReqNumber} (${transport.transportReqDescription})`
49
+ : `${transport.transportReqNumber}`;
50
+ return {
51
+ name,
52
+ value: transport.transportReqNumber
53
+ };
54
+ };
55
+ exports.transportName = transportName;
56
+ //# sourceMappingURL=transport-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-list.js","sourceRoot":"","sources":["../../src/service-provider-utils/transport-list.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAiE;AACjE,kCAA4B;AAC5B,mEAAqE;AAErE,qEAA4C;AAC5C,0DAAsD;AAEtD;;;;;;;;GAQG;AACI,KAAK,UAAU,2BAA2B,CAC7C,WAAmB,EACnB,OAAe,EACf,YAA0B,EAC1B,aAA6B;IAE7B,IAAI,kBAAmD,CAAC;IACxD,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,kDAA0B,EAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAyB,wCAAsB,CAAC,CAAC;QAChG,MAAM,gBAAgB,GAAG,MAAM,UAAU,EAAE,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEtF,IAAI,gBAAgB,EAAE,CAAC;YACnB,kBAAkB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;gBACvD,OAAO;oBACH,kBAAkB,EAAE,YAAY,CAAC,eAAe;oBAChD,uBAAuB,EAAE,YAAY,CAAC,WAAW;iBACpD,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,CAAC,OAAO,KAAK,wCAAsB,CAAC,iBAAiB,EAAE,CAAC;YACzD,0BAAW,CAAC,gBAAgB,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC3D,CAAC;QACD,uBAAY,CAAC,MAAM,CAAC,KAAK,CACrB,IAAA,QAAC,EAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CACjG,CAAC;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC9B,CAAC;AA9BD,kEA8BC;AAEM,MAAM,aAAa,GAAG,CAAC,SAA4B,EAAE,EAAE;IAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,uBAAuB;QAC1C,CAAC,CAAC,GAAG,SAAS,CAAC,kBAAkB,KAAK,SAAS,CAAC,uBAAuB,GAAG;QAC1E,CAAC,CAAC,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;IACxC,OAAO;QACH,IAAI;QACJ,KAAK,EAAE,SAAS,CAAC,kBAAkB;KACtC,CAAC;AACN,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB"}