@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.
- package/LICENSE +201 -0
- package/README.md +93 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +7 -0
- package/dist/constants.js.map +1 -0
- package/dist/error-handler.d.ts +13 -0
- package/dist/error-handler.d.ts.map +1 -0
- package/dist/error-handler.js +33 -0
- package/dist/error-handler.js.map +1 -0
- package/dist/i18n.d.ts +14 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +34 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/logger-helper.d.ts +20 -0
- package/dist/logger-helper.d.ts.map +1 -0
- package/dist/logger-helper.js +27 -0
- package/dist/logger-helper.js.map +1 -0
- package/dist/prompts/conditions.d.ts +117 -0
- package/dist/prompts/conditions.d.ts.map +1 -0
- package/dist/prompts/conditions.js +299 -0
- package/dist/prompts/conditions.js.map +1 -0
- package/dist/prompts/defaults.d.ts +45 -0
- package/dist/prompts/defaults.d.ts.map +1 -0
- package/dist/prompts/defaults.js +91 -0
- package/dist/prompts/defaults.js.map +1 -0
- package/dist/prompts/helpers.d.ts +54 -0
- package/dist/prompts/helpers.d.ts.map +1 -0
- package/dist/prompts/helpers.js +234 -0
- package/dist/prompts/helpers.js.map +1 -0
- package/dist/prompts/index.d.ts +9 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +30 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/prompt-state.d.ts +38 -0
- package/dist/prompts/prompt-state.d.ts.map +1 -0
- package/dist/prompts/prompt-state.js +59 -0
- package/dist/prompts/prompt-state.js.map +1 -0
- package/dist/prompts/questions/abap-target.d.ts +10 -0
- package/dist/prompts/questions/abap-target.d.ts.map +1 -0
- package/dist/prompts/questions/abap-target.js +219 -0
- package/dist/prompts/questions/abap-target.js.map +1 -0
- package/dist/prompts/questions/auth.d.ts +10 -0
- package/dist/prompts/questions/auth.d.ts.map +1 -0
- package/dist/prompts/questions/auth.js +55 -0
- package/dist/prompts/questions/auth.js.map +1 -0
- package/dist/prompts/questions/config/app.d.ts +10 -0
- package/dist/prompts/questions/config/app.d.ts.map +1 -0
- package/dist/prompts/questions/config/app.js +68 -0
- package/dist/prompts/questions/config/app.js.map +1 -0
- package/dist/prompts/questions/config/index.d.ts +4 -0
- package/dist/prompts/questions/config/index.d.ts.map +1 -0
- package/dist/prompts/questions/config/index.js +20 -0
- package/dist/prompts/questions/config/index.js.map +1 -0
- package/dist/prompts/questions/config/package.d.ts +10 -0
- package/dist/prompts/questions/config/package.d.ts.map +1 -0
- package/dist/prompts/questions/config/package.js +91 -0
- package/dist/prompts/questions/config/package.js.map +1 -0
- package/dist/prompts/questions/config/transport.d.ts +10 -0
- package/dist/prompts/questions/config/transport.d.ts.map +1 -0
- package/dist/prompts/questions/config/transport.js +91 -0
- package/dist/prompts/questions/config/transport.js.map +1 -0
- package/dist/prompts/questions/confirm.d.ts +10 -0
- package/dist/prompts/questions/confirm.d.ts.map +1 -0
- package/dist/prompts/questions/confirm.js +55 -0
- package/dist/prompts/questions/confirm.js.map +1 -0
- package/dist/prompts/questions/index.d.ts +5 -0
- package/dist/prompts/questions/index.d.ts.map +1 -0
- package/dist/prompts/questions/index.js +21 -0
- package/dist/prompts/questions/index.js.map +1 -0
- package/dist/prompts/validators.d.ts +138 -0
- package/dist/prompts/validators.d.ts.map +1 -0
- package/dist/prompts/validators.js +459 -0
- package/dist/prompts/validators.js.map +1 -0
- package/dist/service-provider-utils/abap-service-provider.d.ts +19 -0
- package/dist/service-provider-utils/abap-service-provider.d.ts.map +1 -0
- package/dist/service-provider-utils/abap-service-provider.js +89 -0
- package/dist/service-provider-utils/abap-service-provider.js.map +1 -0
- package/dist/service-provider-utils/create-transport.d.ts +12 -0
- package/dist/service-provider-utils/create-transport.d.ts.map +1 -0
- package/dist/service-provider-utils/create-transport.js +35 -0
- package/dist/service-provider-utils/create-transport.js.map +1 -0
- package/dist/service-provider-utils/index.d.ts +6 -0
- package/dist/service-provider-utils/index.d.ts.map +1 -0
- package/dist/service-provider-utils/index.js +22 -0
- package/dist/service-provider-utils/index.js.map +1 -0
- package/dist/service-provider-utils/list-packages.d.ts +11 -0
- package/dist/service-provider-utils/list-packages.d.ts.map +1 -0
- package/dist/service-provider-utils/list-packages.js +37 -0
- package/dist/service-provider-utils/list-packages.js.map +1 -0
- package/dist/service-provider-utils/transport-config.d.ts +18 -0
- package/dist/service-provider-utils/transport-config.d.ts.map +1 -0
- package/dist/service-provider-utils/transport-config.js +211 -0
- package/dist/service-provider-utils/transport-config.js.map +1 -0
- package/dist/service-provider-utils/transport-list.d.ts +16 -0
- package/dist/service-provider-utils/transport-list.d.ts.map +1 -0
- package/dist/service-provider-utils/transport-list.js +56 -0
- package/dist/service-provider-utils/transport-list.js.map +1 -0
- package/dist/translations/abap-deploy-config-inquirer.i18n.json +146 -0
- package/dist/types.d.ts +165 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +46 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +90 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +233 -0
- package/dist/utils.js.map +1 -0
- package/dist/validator-utils.d.ts +75 -0
- package/dist/validator-utils.d.ts.map +1 -0
- package/dist/validator-utils.js +172 -0
- package/dist/validator-utils.js.map +1 -0
- 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 @@
|
|
|
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"}
|