catalyst-relay 0.5.6 → 0.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +59 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +59 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2472,9 +2472,46 @@ async function createTransport(client, config) {
|
|
|
2472
2472
|
return ok(transportId);
|
|
2473
2473
|
}
|
|
2474
2474
|
|
|
2475
|
-
// src/core/adt/transports/
|
|
2475
|
+
// src/core/adt/transports/getTransportContents.ts
|
|
2476
2476
|
var ACCEPT_HEADER = "application/vnd.sap.adt.transportorganizer.v1+xml";
|
|
2477
|
-
async function
|
|
2477
|
+
async function getTransportContents(client, transportId) {
|
|
2478
|
+
const [response, requestErr] = await client.request({
|
|
2479
|
+
method: "GET",
|
|
2480
|
+
path: `/sap/bc/adt/cts/transportrequests/${transportId}`,
|
|
2481
|
+
headers: {
|
|
2482
|
+
"Accept": ACCEPT_HEADER
|
|
2483
|
+
}
|
|
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
|
+
});
|
|
2508
|
+
}
|
|
2509
|
+
return ok(objects);
|
|
2510
|
+
}
|
|
2511
|
+
|
|
2512
|
+
// src/core/adt/transports/removeFromTransport.ts
|
|
2513
|
+
var ACCEPT_HEADER2 = "application/vnd.sap.adt.transportorganizer.v1+xml";
|
|
2514
|
+
async function removeTransportEntry(client, transportId, object) {
|
|
2478
2515
|
const body = [
|
|
2479
2516
|
'<?xml version="1.0" encoding="ASCII"?>',
|
|
2480
2517
|
`<tm:root xmlns:tm="http://www.sap.com/cts/adt/tm" tm:number="${escapeXml(transportId)}" tm:useraction="removeobject">`,
|
|
@@ -2487,7 +2524,7 @@ async function removeFromTransport(client, transportId, object) {
|
|
|
2487
2524
|
method: "PUT",
|
|
2488
2525
|
path: `/sap/bc/adt/cts/transportrequests/${transportId}`,
|
|
2489
2526
|
headers: {
|
|
2490
|
-
"Accept":
|
|
2527
|
+
"Accept": ACCEPT_HEADER2,
|
|
2491
2528
|
"Content-Type": "text/plain"
|
|
2492
2529
|
},
|
|
2493
2530
|
body
|
|
@@ -2500,9 +2537,18 @@ async function removeFromTransport(client, transportId, object) {
|
|
|
2500
2537
|
}
|
|
2501
2538
|
return ok(void 0);
|
|
2502
2539
|
}
|
|
2540
|
+
async function removeFromTransport(client, transportId, objectName) {
|
|
2541
|
+
const [objects, listErr] = await getTransportContents(client, transportId);
|
|
2542
|
+
if (listErr) return err(listErr);
|
|
2543
|
+
const object = objects.find((o) => o.name === objectName);
|
|
2544
|
+
if (!object) {
|
|
2545
|
+
return err(new Error(`Object '${objectName}' not found on transport ${transportId}`));
|
|
2546
|
+
}
|
|
2547
|
+
return removeTransportEntry(client, transportId, object);
|
|
2548
|
+
}
|
|
2503
2549
|
|
|
2504
2550
|
// src/core/adt/transports/deleteTransport.ts
|
|
2505
|
-
var
|
|
2551
|
+
var ACCEPT_HEADER3 = "application/vnd.sap.adt.transportorganizer.v1+xml";
|
|
2506
2552
|
function parseTransportTasks(doc) {
|
|
2507
2553
|
const tasks = [];
|
|
2508
2554
|
const taskElements = doc.getElementsByTagName("tm:task");
|
|
@@ -2534,7 +2580,7 @@ async function sortAndCompress(client, taskId) {
|
|
|
2534
2580
|
const [response, requestErr] = await client.request({
|
|
2535
2581
|
method: "POST",
|
|
2536
2582
|
path: `/sap/bc/adt/cts/transportrequests/${taskId}/sortandcompress`,
|
|
2537
|
-
headers: { "Accept":
|
|
2583
|
+
headers: { "Accept": ACCEPT_HEADER3 }
|
|
2538
2584
|
});
|
|
2539
2585
|
if (requestErr) return err(requestErr);
|
|
2540
2586
|
if (!response.ok) {
|
|
@@ -2548,7 +2594,7 @@ async function deleteRequest(client, id) {
|
|
|
2548
2594
|
const [response, requestErr] = await client.request({
|
|
2549
2595
|
method: "DELETE",
|
|
2550
2596
|
path: `/sap/bc/adt/cts/transportrequests/${id}`,
|
|
2551
|
-
headers: { "Accept":
|
|
2597
|
+
headers: { "Accept": ACCEPT_HEADER3 }
|
|
2552
2598
|
});
|
|
2553
2599
|
if (requestErr) return err(requestErr);
|
|
2554
2600
|
if (!response.ok) {
|
|
@@ -2562,7 +2608,7 @@ async function deleteTransport(client, transportId, removeObjects = false) {
|
|
|
2562
2608
|
const [response, requestErr] = await client.request({
|
|
2563
2609
|
method: "GET",
|
|
2564
2610
|
path: `/sap/bc/adt/cts/transportrequests/${transportId}`,
|
|
2565
|
-
headers: { "Accept":
|
|
2611
|
+
headers: { "Accept": ACCEPT_HEADER3 }
|
|
2566
2612
|
});
|
|
2567
2613
|
if (requestErr) return err(requestErr);
|
|
2568
2614
|
if (!response.ok) {
|
|
@@ -2581,7 +2627,7 @@ async function deleteTransport(client, transportId, removeObjects = false) {
|
|
|
2581
2627
|
const [taskResponse, taskReadErr] = await client.request({
|
|
2582
2628
|
method: "GET",
|
|
2583
2629
|
path: `/sap/bc/adt/cts/transportrequests/${task.taskId}`,
|
|
2584
|
-
headers: { "Accept":
|
|
2630
|
+
headers: { "Accept": ACCEPT_HEADER3 }
|
|
2585
2631
|
});
|
|
2586
2632
|
if (taskReadErr) return err(taskReadErr);
|
|
2587
2633
|
const taskText = await taskResponse.text();
|
|
@@ -2593,7 +2639,7 @@ async function deleteTransport(client, transportId, removeObjects = false) {
|
|
|
2593
2639
|
if (!el) continue;
|
|
2594
2640
|
const name = el.getAttribute("tm:name");
|
|
2595
2641
|
if (!name) continue;
|
|
2596
|
-
const [, removeErr] = await
|
|
2642
|
+
const [, removeErr] = await removeTransportEntry(client, task.taskId, {
|
|
2597
2643
|
name,
|
|
2598
2644
|
description: el.getAttribute("tm:obj_desc") || el.getAttribute("tm:obj_info") || "",
|
|
2599
2645
|
pgmid: el.getAttribute("tm:pgmid") || "",
|
|
@@ -2873,9 +2919,9 @@ async function deleteTransport2(state, requestor, transportId, removeObjects = f
|
|
|
2873
2919
|
}
|
|
2874
2920
|
|
|
2875
2921
|
// src/client/methods/transport/removeFromTransport.ts
|
|
2876
|
-
async function removeFromTransport2(state, requestor, transportId,
|
|
2922
|
+
async function removeFromTransport2(state, requestor, transportId, objectName) {
|
|
2877
2923
|
if (!state.session) return err(new Error("Not logged in"));
|
|
2878
|
-
return removeFromTransport(requestor, transportId,
|
|
2924
|
+
return removeFromTransport(requestor, transportId, objectName);
|
|
2879
2925
|
}
|
|
2880
2926
|
|
|
2881
2927
|
// src/client/methods/diff/gitDiff.ts
|
|
@@ -3257,8 +3303,8 @@ var ADTClientImpl = class {
|
|
|
3257
3303
|
async deleteTransport(transportId, removeObjects = false) {
|
|
3258
3304
|
return deleteTransport2(this.state, this.requestor, transportId, removeObjects);
|
|
3259
3305
|
}
|
|
3260
|
-
async removeFromTransport(transportId,
|
|
3261
|
-
return removeFromTransport2(this.state, this.requestor, transportId,
|
|
3306
|
+
async removeFromTransport(transportId, objectName) {
|
|
3307
|
+
return removeFromTransport2(this.state, this.requestor, transportId, objectName);
|
|
3262
3308
|
}
|
|
3263
3309
|
// --- Diff Operations ---
|
|
3264
3310
|
async gitDiff(objects) {
|