catalyst-relay 0.5.7 → 0.5.9
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.d.mts +11 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.js +81 -73
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +81 -73
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2472,45 +2472,37 @@ async function createTransport(client, config) {
|
|
|
2472
2472
|
return ok(transportId);
|
|
2473
2473
|
}
|
|
2474
2474
|
|
|
2475
|
-
// src/core/adt/transports/
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
const
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2475
|
+
// src/core/adt/transports/parseTransportTasks.ts
|
|
2476
|
+
function parseTransportTasks(doc) {
|
|
2477
|
+
const tasks = [];
|
|
2478
|
+
const taskElements = doc.getElementsByTagName("tm:task");
|
|
2479
|
+
for (let i = 0; i < taskElements.length; i++) {
|
|
2480
|
+
const taskEl = taskElements[i];
|
|
2481
|
+
if (!taskEl) continue;
|
|
2482
|
+
const taskId = taskEl.getAttribute("tm:number");
|
|
2483
|
+
if (!taskId) continue;
|
|
2484
|
+
const objects = [];
|
|
2485
|
+
const objectElements = taskEl.getElementsByTagName("tm:abap_object");
|
|
2486
|
+
for (let j = 0; j < objectElements.length; j++) {
|
|
2487
|
+
const el = objectElements[j];
|
|
2488
|
+
if (!el) continue;
|
|
2489
|
+
const name = el.getAttribute("tm:name");
|
|
2490
|
+
if (!name) continue;
|
|
2491
|
+
objects.push({
|
|
2492
|
+
name,
|
|
2493
|
+
description: el.getAttribute("tm:obj_desc") || el.getAttribute("tm:obj_info") || "",
|
|
2494
|
+
pgmid: el.getAttribute("tm:pgmid") || "",
|
|
2495
|
+
type: el.getAttribute("tm:type") || "",
|
|
2496
|
+
position: el.getAttribute("tm:position") || ""
|
|
2497
|
+
});
|
|
2483
2498
|
}
|
|
2484
|
-
|
|
2485
|
-
if (requestErr) return err(requestErr);
|
|
2486
|
-
if (!response.ok) {
|
|
2487
|
-
const text2 = await response.text();
|
|
2488
|
-
const errorMsg = extractError(text2);
|
|
2489
|
-
return err(new Error(`Failed to read transport ${transportId}: ${errorMsg}`));
|
|
2490
|
-
}
|
|
2491
|
-
const text = await response.text();
|
|
2492
|
-
const [doc, parseErr] = safeParseXml(text);
|
|
2493
|
-
if (parseErr) return err(parseErr);
|
|
2494
|
-
const objects = [];
|
|
2495
|
-
const elements = doc.getElementsByTagName("tm:abap_object");
|
|
2496
|
-
for (let i = 0; i < elements.length; i++) {
|
|
2497
|
-
const el = elements[i];
|
|
2498
|
-
if (!el) continue;
|
|
2499
|
-
const name = el.getAttribute("tm:name");
|
|
2500
|
-
if (!name) continue;
|
|
2501
|
-
objects.push({
|
|
2502
|
-
name,
|
|
2503
|
-
description: el.getAttribute("tm:obj_desc") || el.getAttribute("tm:obj_info") || "",
|
|
2504
|
-
pgmid: el.getAttribute("tm:pgmid") || "",
|
|
2505
|
-
type: el.getAttribute("tm:type") || "",
|
|
2506
|
-
position: el.getAttribute("tm:position") || ""
|
|
2507
|
-
});
|
|
2499
|
+
tasks.push({ taskId, objects });
|
|
2508
2500
|
}
|
|
2509
|
-
return
|
|
2501
|
+
return tasks;
|
|
2510
2502
|
}
|
|
2511
2503
|
|
|
2512
2504
|
// src/core/adt/transports/removeFromTransport.ts
|
|
2513
|
-
var
|
|
2505
|
+
var ACCEPT_HEADER = "application/vnd.sap.adt.transportorganizer.v1+xml";
|
|
2514
2506
|
async function removeTransportEntry(client, transportId, object) {
|
|
2515
2507
|
const body = [
|
|
2516
2508
|
'<?xml version="1.0" encoding="ASCII"?>',
|
|
@@ -2524,7 +2516,7 @@ async function removeTransportEntry(client, transportId, object) {
|
|
|
2524
2516
|
method: "PUT",
|
|
2525
2517
|
path: `/sap/bc/adt/cts/transportrequests/${transportId}`,
|
|
2526
2518
|
headers: {
|
|
2527
|
-
"Accept":
|
|
2519
|
+
"Accept": ACCEPT_HEADER,
|
|
2528
2520
|
"Content-Type": "text/plain"
|
|
2529
2521
|
},
|
|
2530
2522
|
body
|
|
@@ -2538,49 +2530,36 @@ async function removeTransportEntry(client, transportId, object) {
|
|
|
2538
2530
|
return ok(void 0);
|
|
2539
2531
|
}
|
|
2540
2532
|
async function removeFromTransport(client, transportId, objectName) {
|
|
2541
|
-
const [
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2533
|
+
const [response, requestErr] = await client.request({
|
|
2534
|
+
method: "GET",
|
|
2535
|
+
path: `/sap/bc/adt/cts/transportrequests/${transportId}`,
|
|
2536
|
+
headers: { "Accept": ACCEPT_HEADER }
|
|
2537
|
+
});
|
|
2538
|
+
if (requestErr) return err(requestErr);
|
|
2539
|
+
if (!response.ok) {
|
|
2540
|
+
const text2 = await response.text();
|
|
2541
|
+
const errorMsg = extractError(text2);
|
|
2542
|
+
return err(new Error(`Failed to read transport ${transportId}: ${errorMsg}`));
|
|
2546
2543
|
}
|
|
2547
|
-
|
|
2544
|
+
const text = await response.text();
|
|
2545
|
+
const [doc, parseErr] = safeParseXml(text);
|
|
2546
|
+
if (parseErr) return err(parseErr);
|
|
2547
|
+
const tasks = parseTransportTasks(doc);
|
|
2548
|
+
for (const task of tasks) {
|
|
2549
|
+
const object = task.objects.find((o) => o.name === objectName);
|
|
2550
|
+
if (!object) continue;
|
|
2551
|
+
return removeTransportEntry(client, task.taskId, object);
|
|
2552
|
+
}
|
|
2553
|
+
return err(new Error(`Object '${objectName}' not found on transport ${transportId}`));
|
|
2548
2554
|
}
|
|
2549
2555
|
|
|
2550
2556
|
// src/core/adt/transports/deleteTransport.ts
|
|
2551
|
-
var
|
|
2552
|
-
function parseTransportTasks(doc) {
|
|
2553
|
-
const tasks = [];
|
|
2554
|
-
const taskElements = doc.getElementsByTagName("tm:task");
|
|
2555
|
-
for (let i = 0; i < taskElements.length; i++) {
|
|
2556
|
-
const taskEl = taskElements[i];
|
|
2557
|
-
if (!taskEl) continue;
|
|
2558
|
-
const taskId = taskEl.getAttribute("tm:number");
|
|
2559
|
-
if (!taskId) continue;
|
|
2560
|
-
const objects = [];
|
|
2561
|
-
const objectElements = taskEl.getElementsByTagName("tm:abap_object");
|
|
2562
|
-
for (let j = 0; j < objectElements.length; j++) {
|
|
2563
|
-
const el = objectElements[j];
|
|
2564
|
-
if (!el) continue;
|
|
2565
|
-
const name = el.getAttribute("tm:name");
|
|
2566
|
-
if (!name) continue;
|
|
2567
|
-
objects.push({
|
|
2568
|
-
name,
|
|
2569
|
-
description: el.getAttribute("tm:obj_desc") || el.getAttribute("tm:obj_info") || "",
|
|
2570
|
-
pgmid: el.getAttribute("tm:pgmid") || "",
|
|
2571
|
-
type: el.getAttribute("tm:type") || "",
|
|
2572
|
-
position: el.getAttribute("tm:position") || ""
|
|
2573
|
-
});
|
|
2574
|
-
}
|
|
2575
|
-
tasks.push({ taskId, objects });
|
|
2576
|
-
}
|
|
2577
|
-
return tasks;
|
|
2578
|
-
}
|
|
2557
|
+
var ACCEPT_HEADER2 = "application/vnd.sap.adt.transportorganizer.v1+xml";
|
|
2579
2558
|
async function sortAndCompress(client, taskId) {
|
|
2580
2559
|
const [response, requestErr] = await client.request({
|
|
2581
2560
|
method: "POST",
|
|
2582
2561
|
path: `/sap/bc/adt/cts/transportrequests/${taskId}/sortandcompress`,
|
|
2583
|
-
headers: { "Accept":
|
|
2562
|
+
headers: { "Accept": ACCEPT_HEADER2 }
|
|
2584
2563
|
});
|
|
2585
2564
|
if (requestErr) return err(requestErr);
|
|
2586
2565
|
if (!response.ok) {
|
|
@@ -2594,7 +2573,7 @@ async function deleteRequest(client, id) {
|
|
|
2594
2573
|
const [response, requestErr] = await client.request({
|
|
2595
2574
|
method: "DELETE",
|
|
2596
2575
|
path: `/sap/bc/adt/cts/transportrequests/${id}`,
|
|
2597
|
-
headers: { "Accept":
|
|
2576
|
+
headers: { "Accept": ACCEPT_HEADER2 }
|
|
2598
2577
|
});
|
|
2599
2578
|
if (requestErr) return err(requestErr);
|
|
2600
2579
|
if (!response.ok) {
|
|
@@ -2608,7 +2587,7 @@ async function deleteTransport(client, transportId, removeObjects = false) {
|
|
|
2608
2587
|
const [response, requestErr] = await client.request({
|
|
2609
2588
|
method: "GET",
|
|
2610
2589
|
path: `/sap/bc/adt/cts/transportrequests/${transportId}`,
|
|
2611
|
-
headers: { "Accept":
|
|
2590
|
+
headers: { "Accept": ACCEPT_HEADER2 }
|
|
2612
2591
|
});
|
|
2613
2592
|
if (requestErr) return err(requestErr);
|
|
2614
2593
|
if (!response.ok) {
|
|
@@ -2627,7 +2606,7 @@ async function deleteTransport(client, transportId, removeObjects = false) {
|
|
|
2627
2606
|
const [taskResponse, taskReadErr] = await client.request({
|
|
2628
2607
|
method: "GET",
|
|
2629
2608
|
path: `/sap/bc/adt/cts/transportrequests/${task.taskId}`,
|
|
2630
|
-
headers: { "Accept":
|
|
2609
|
+
headers: { "Accept": ACCEPT_HEADER2 }
|
|
2631
2610
|
});
|
|
2632
2611
|
if (taskReadErr) return err(taskReadErr);
|
|
2633
2612
|
const taskText = await taskResponse.text();
|
|
@@ -2655,6 +2634,26 @@ async function deleteTransport(client, transportId, removeObjects = false) {
|
|
|
2655
2634
|
return deleteRequest(client, transportId);
|
|
2656
2635
|
}
|
|
2657
2636
|
|
|
2637
|
+
// src/core/adt/transports/viewTransportObjects.ts
|
|
2638
|
+
var ACCEPT_HEADER3 = "application/vnd.sap.adt.transportorganizer.v1+xml";
|
|
2639
|
+
async function viewTransportObjects(client, transportId) {
|
|
2640
|
+
const [response, requestErr] = await client.request({
|
|
2641
|
+
method: "GET",
|
|
2642
|
+
path: `/sap/bc/adt/cts/transportrequests/${transportId}`,
|
|
2643
|
+
headers: { "Accept": ACCEPT_HEADER3 }
|
|
2644
|
+
});
|
|
2645
|
+
if (requestErr) return err(requestErr);
|
|
2646
|
+
if (!response.ok) {
|
|
2647
|
+
const text2 = await response.text();
|
|
2648
|
+
const errorMsg = extractError(text2);
|
|
2649
|
+
return err(new Error(`Failed to read transport ${transportId}: ${errorMsg}`));
|
|
2650
|
+
}
|
|
2651
|
+
const text = await response.text();
|
|
2652
|
+
const [doc, parseErr] = safeParseXml(text);
|
|
2653
|
+
if (parseErr) return err(parseErr);
|
|
2654
|
+
return ok(parseTransportTasks(doc));
|
|
2655
|
+
}
|
|
2656
|
+
|
|
2658
2657
|
// src/core/adt/craud/gitDiff.ts
|
|
2659
2658
|
import { diffArrays } from "diff";
|
|
2660
2659
|
function computeDiff(serverLines, localLines) {
|
|
@@ -2924,6 +2923,12 @@ async function removeFromTransport2(state, requestor, transportId, objectName) {
|
|
|
2924
2923
|
return removeFromTransport(requestor, transportId, objectName);
|
|
2925
2924
|
}
|
|
2926
2925
|
|
|
2926
|
+
// src/client/methods/transport/viewTransportObjects.ts
|
|
2927
|
+
async function viewTransportObjects2(state, requestor, transportId) {
|
|
2928
|
+
if (!state.session) return err(new Error("Not logged in"));
|
|
2929
|
+
return viewTransportObjects(requestor, transportId);
|
|
2930
|
+
}
|
|
2931
|
+
|
|
2927
2932
|
// src/client/methods/diff/gitDiff.ts
|
|
2928
2933
|
async function gitDiff2(state, requestor, objects) {
|
|
2929
2934
|
if (!state.session) return err(new Error("Not logged in"));
|
|
@@ -3306,6 +3311,9 @@ var ADTClientImpl = class {
|
|
|
3306
3311
|
async removeFromTransport(transportId, objectName) {
|
|
3307
3312
|
return removeFromTransport2(this.state, this.requestor, transportId, objectName);
|
|
3308
3313
|
}
|
|
3314
|
+
async viewTransportObjects(transportId) {
|
|
3315
|
+
return viewTransportObjects2(this.state, this.requestor, transportId);
|
|
3316
|
+
}
|
|
3309
3317
|
// --- Diff Operations ---
|
|
3310
3318
|
async gitDiff(objects) {
|
|
3311
3319
|
return gitDiff2(this.state, this.requestor, objects);
|