catalyst-relay 0.5.7 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +52 -73
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +52 -73
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2506,45 +2506,37 @@ async function createTransport(client, config) {
|
|
|
2506
2506
|
return ok(transportId);
|
|
2507
2507
|
}
|
|
2508
2508
|
|
|
2509
|
-
// src/core/adt/transports/
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
const
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2509
|
+
// src/core/adt/transports/parseTransportTasks.ts
|
|
2510
|
+
function parseTransportTasks(doc) {
|
|
2511
|
+
const tasks = [];
|
|
2512
|
+
const taskElements = doc.getElementsByTagName("tm:task");
|
|
2513
|
+
for (let i = 0; i < taskElements.length; i++) {
|
|
2514
|
+
const taskEl = taskElements[i];
|
|
2515
|
+
if (!taskEl) continue;
|
|
2516
|
+
const taskId = taskEl.getAttribute("tm:number");
|
|
2517
|
+
if (!taskId) continue;
|
|
2518
|
+
const objects = [];
|
|
2519
|
+
const objectElements = taskEl.getElementsByTagName("tm:abap_object");
|
|
2520
|
+
for (let j = 0; j < objectElements.length; j++) {
|
|
2521
|
+
const el = objectElements[j];
|
|
2522
|
+
if (!el) continue;
|
|
2523
|
+
const name = el.getAttribute("tm:name");
|
|
2524
|
+
if (!name) continue;
|
|
2525
|
+
objects.push({
|
|
2526
|
+
name,
|
|
2527
|
+
description: el.getAttribute("tm:obj_desc") || el.getAttribute("tm:obj_info") || "",
|
|
2528
|
+
pgmid: el.getAttribute("tm:pgmid") || "",
|
|
2529
|
+
type: el.getAttribute("tm:type") || "",
|
|
2530
|
+
position: el.getAttribute("tm:position") || ""
|
|
2531
|
+
});
|
|
2517
2532
|
}
|
|
2518
|
-
|
|
2519
|
-
if (requestErr) return err(requestErr);
|
|
2520
|
-
if (!response.ok) {
|
|
2521
|
-
const text2 = await response.text();
|
|
2522
|
-
const errorMsg = extractError(text2);
|
|
2523
|
-
return err(new Error(`Failed to read transport ${transportId}: ${errorMsg}`));
|
|
2524
|
-
}
|
|
2525
|
-
const text = await response.text();
|
|
2526
|
-
const [doc, parseErr] = safeParseXml(text);
|
|
2527
|
-
if (parseErr) return err(parseErr);
|
|
2528
|
-
const objects = [];
|
|
2529
|
-
const elements = doc.getElementsByTagName("tm:abap_object");
|
|
2530
|
-
for (let i = 0; i < elements.length; i++) {
|
|
2531
|
-
const el = elements[i];
|
|
2532
|
-
if (!el) continue;
|
|
2533
|
-
const name = el.getAttribute("tm:name");
|
|
2534
|
-
if (!name) continue;
|
|
2535
|
-
objects.push({
|
|
2536
|
-
name,
|
|
2537
|
-
description: el.getAttribute("tm:obj_desc") || el.getAttribute("tm:obj_info") || "",
|
|
2538
|
-
pgmid: el.getAttribute("tm:pgmid") || "",
|
|
2539
|
-
type: el.getAttribute("tm:type") || "",
|
|
2540
|
-
position: el.getAttribute("tm:position") || ""
|
|
2541
|
-
});
|
|
2533
|
+
tasks.push({ taskId, objects });
|
|
2542
2534
|
}
|
|
2543
|
-
return
|
|
2535
|
+
return tasks;
|
|
2544
2536
|
}
|
|
2545
2537
|
|
|
2546
2538
|
// src/core/adt/transports/removeFromTransport.ts
|
|
2547
|
-
var
|
|
2539
|
+
var ACCEPT_HEADER = "application/vnd.sap.adt.transportorganizer.v1+xml";
|
|
2548
2540
|
async function removeTransportEntry(client, transportId, object) {
|
|
2549
2541
|
const body = [
|
|
2550
2542
|
'<?xml version="1.0" encoding="ASCII"?>',
|
|
@@ -2558,7 +2550,7 @@ async function removeTransportEntry(client, transportId, object) {
|
|
|
2558
2550
|
method: "PUT",
|
|
2559
2551
|
path: `/sap/bc/adt/cts/transportrequests/${transportId}`,
|
|
2560
2552
|
headers: {
|
|
2561
|
-
"Accept":
|
|
2553
|
+
"Accept": ACCEPT_HEADER,
|
|
2562
2554
|
"Content-Type": "text/plain"
|
|
2563
2555
|
},
|
|
2564
2556
|
body
|
|
@@ -2572,49 +2564,36 @@ async function removeTransportEntry(client, transportId, object) {
|
|
|
2572
2564
|
return ok(void 0);
|
|
2573
2565
|
}
|
|
2574
2566
|
async function removeFromTransport(client, transportId, objectName) {
|
|
2575
|
-
const [
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2567
|
+
const [response, requestErr] = await client.request({
|
|
2568
|
+
method: "GET",
|
|
2569
|
+
path: `/sap/bc/adt/cts/transportrequests/${transportId}`,
|
|
2570
|
+
headers: { "Accept": ACCEPT_HEADER }
|
|
2571
|
+
});
|
|
2572
|
+
if (requestErr) return err(requestErr);
|
|
2573
|
+
if (!response.ok) {
|
|
2574
|
+
const text2 = await response.text();
|
|
2575
|
+
const errorMsg = extractError(text2);
|
|
2576
|
+
return err(new Error(`Failed to read transport ${transportId}: ${errorMsg}`));
|
|
2577
|
+
}
|
|
2578
|
+
const text = await response.text();
|
|
2579
|
+
const [doc, parseErr] = safeParseXml(text);
|
|
2580
|
+
if (parseErr) return err(parseErr);
|
|
2581
|
+
const tasks = parseTransportTasks(doc);
|
|
2582
|
+
for (const task of tasks) {
|
|
2583
|
+
const object = task.objects.find((o) => o.name === objectName);
|
|
2584
|
+
if (!object) continue;
|
|
2585
|
+
return removeTransportEntry(client, task.taskId, object);
|
|
2580
2586
|
}
|
|
2581
|
-
return
|
|
2587
|
+
return err(new Error(`Object '${objectName}' not found on transport ${transportId}`));
|
|
2582
2588
|
}
|
|
2583
2589
|
|
|
2584
2590
|
// src/core/adt/transports/deleteTransport.ts
|
|
2585
|
-
var
|
|
2586
|
-
function parseTransportTasks(doc) {
|
|
2587
|
-
const tasks = [];
|
|
2588
|
-
const taskElements = doc.getElementsByTagName("tm:task");
|
|
2589
|
-
for (let i = 0; i < taskElements.length; i++) {
|
|
2590
|
-
const taskEl = taskElements[i];
|
|
2591
|
-
if (!taskEl) continue;
|
|
2592
|
-
const taskId = taskEl.getAttribute("tm:number");
|
|
2593
|
-
if (!taskId) continue;
|
|
2594
|
-
const objects = [];
|
|
2595
|
-
const objectElements = taskEl.getElementsByTagName("tm:abap_object");
|
|
2596
|
-
for (let j = 0; j < objectElements.length; j++) {
|
|
2597
|
-
const el = objectElements[j];
|
|
2598
|
-
if (!el) continue;
|
|
2599
|
-
const name = el.getAttribute("tm:name");
|
|
2600
|
-
if (!name) continue;
|
|
2601
|
-
objects.push({
|
|
2602
|
-
name,
|
|
2603
|
-
description: el.getAttribute("tm:obj_desc") || el.getAttribute("tm:obj_info") || "",
|
|
2604
|
-
pgmid: el.getAttribute("tm:pgmid") || "",
|
|
2605
|
-
type: el.getAttribute("tm:type") || "",
|
|
2606
|
-
position: el.getAttribute("tm:position") || ""
|
|
2607
|
-
});
|
|
2608
|
-
}
|
|
2609
|
-
tasks.push({ taskId, objects });
|
|
2610
|
-
}
|
|
2611
|
-
return tasks;
|
|
2612
|
-
}
|
|
2591
|
+
var ACCEPT_HEADER2 = "application/vnd.sap.adt.transportorganizer.v1+xml";
|
|
2613
2592
|
async function sortAndCompress(client, taskId) {
|
|
2614
2593
|
const [response, requestErr] = await client.request({
|
|
2615
2594
|
method: "POST",
|
|
2616
2595
|
path: `/sap/bc/adt/cts/transportrequests/${taskId}/sortandcompress`,
|
|
2617
|
-
headers: { "Accept":
|
|
2596
|
+
headers: { "Accept": ACCEPT_HEADER2 }
|
|
2618
2597
|
});
|
|
2619
2598
|
if (requestErr) return err(requestErr);
|
|
2620
2599
|
if (!response.ok) {
|
|
@@ -2628,7 +2607,7 @@ async function deleteRequest(client, id) {
|
|
|
2628
2607
|
const [response, requestErr] = await client.request({
|
|
2629
2608
|
method: "DELETE",
|
|
2630
2609
|
path: `/sap/bc/adt/cts/transportrequests/${id}`,
|
|
2631
|
-
headers: { "Accept":
|
|
2610
|
+
headers: { "Accept": ACCEPT_HEADER2 }
|
|
2632
2611
|
});
|
|
2633
2612
|
if (requestErr) return err(requestErr);
|
|
2634
2613
|
if (!response.ok) {
|
|
@@ -2642,7 +2621,7 @@ async function deleteTransport(client, transportId, removeObjects = false) {
|
|
|
2642
2621
|
const [response, requestErr] = await client.request({
|
|
2643
2622
|
method: "GET",
|
|
2644
2623
|
path: `/sap/bc/adt/cts/transportrequests/${transportId}`,
|
|
2645
|
-
headers: { "Accept":
|
|
2624
|
+
headers: { "Accept": ACCEPT_HEADER2 }
|
|
2646
2625
|
});
|
|
2647
2626
|
if (requestErr) return err(requestErr);
|
|
2648
2627
|
if (!response.ok) {
|
|
@@ -2661,7 +2640,7 @@ async function deleteTransport(client, transportId, removeObjects = false) {
|
|
|
2661
2640
|
const [taskResponse, taskReadErr] = await client.request({
|
|
2662
2641
|
method: "GET",
|
|
2663
2642
|
path: `/sap/bc/adt/cts/transportrequests/${task.taskId}`,
|
|
2664
|
-
headers: { "Accept":
|
|
2643
|
+
headers: { "Accept": ACCEPT_HEADER2 }
|
|
2665
2644
|
});
|
|
2666
2645
|
if (taskReadErr) return err(taskReadErr);
|
|
2667
2646
|
const taskText = await taskResponse.text();
|