@contiva/sap-integration-suite-client
Version:
SAP Cloud Platform Integration API Client
191 lines (190 loc) • 9.43 kB
TypeScript
/**
* SAP Integration Content Advanced Client
*
* Diese Datei enthält erweiterte Methoden für die Integration Content APIs von SAP Cloud Integration.
* Diese Methoden sind Erweiterungen der grundlegenden API-Funktionen und bieten zusammengesetzte Operationen.
*
* @module sap-integration-suite-client/integration-content-advanced
*/
import { ComSapHciApiIntegrationPackage, ComSapHciApiIntegrationDesigntimeArtifact, ComSapHciApiScriptCollectionDesigntimeArtifact, ComSapHciApiMessageMappingDesigntimeArtifact, ComSapHciApiValueMappingDesigntimeArtifact } from '../../types/sap.IntegrationContent';
import { PackageWithArtifacts, DetailedErrorInformation, ParsedErrorDetails } from '../../types/sap.ContentClient';
import { IntegrationContentClient } from '../integration-content-client';
import { BaseCustomClient, CustomClientFactory } from './base-custom-client';
/**
* Erweiterter SAP Integration Content Client
*
* Diese Klasse stellt erweiterte, zusammengesetzte Operationen für die Interaktion
* mit den SAP Integration Content APIs bereit.
*/
export declare class IntegrationContentAdvancedClient extends BaseCustomClient<IntegrationContentClient> {
/**
* Erstellt einen neuen IntegrationContentAdvancedClient
*
* @param {IntegrationContentClient} client - Die zugrundeliegende Client-Instanz
*/
constructor(client: IntegrationContentClient);
/**
* Ruft alle Integrationspakete mit ihren zugehörigen Artefakten ab
*
* Diese Methode holt alle Integrationspakete und sammelt für jedes Paket:
* - Integrationsflows
* - Message Mappings
* - Value Mappings
* - Script Collections
*
* @param {Object} options Optionale Parameter für die Anfrage
* @param {number} [options.top] Maximale Anzahl der zurückzugebenden Pakete
* @param {number} [options.skip] Anzahl der zu überspringenden Pakete
* @param {boolean} [options.includeEmpty=false] Ob leere Pakete ohne Artefakte inkludiert werden sollen
* @param {boolean} [options.parallel=false] Ob die Artefakte parallel abgerufen werden sollen (schneller, aber möglicherweise API-Limits)
* @returns {Promise<PackageWithArtifacts[]>} Liste von Paketen mit ihren Artefakten
*
* @example
* // Alle Pakete mit ihren Artefakten abrufen
* const packagesWithArtifacts = await client.getPackagesWithArtifacts();
*
* // Nur die ersten 5 Pakete mit Artefakten abrufen
* const packagesWithArtifacts = await client.getPackagesWithArtifacts({ top: 5 });
*
* // Alle Pakete mit parallelen API-Aufrufen abrufen (schneller)
* const packagesWithArtifacts = await client.getPackagesWithArtifacts({ parallel: true });
*/
getPackagesWithArtifacts(options?: {
top?: number;
skip?: number;
includeEmpty?: boolean;
parallel?: boolean;
}): Promise<PackageWithArtifacts[]>;
/**
* Ruft alle Integrationsflows aller Pakete ab
*
* @param {Object} options Optionale Parameter für die Anfrage
* @param {number} [options.top] Maximale Anzahl der zurückzugebenden Pakete für die Abfrage
* @param {ComSapHciApiIntegrationPackage[]} [options.packages] Bereits abgerufene Pakete, um redundante API-Aufrufe zu vermeiden
* @returns {Promise<ComSapHciApiIntegrationDesigntimeArtifact[]>} Liste aller Integrationsflows
*
* @example
* const allFlows = await client.getAllIntegrationFlows();
*
* // Mit bereits vorhandenen Paketen
* const packages = await client.getIntegrationPackages();
* const allFlows = await client.getAllIntegrationFlows({ packages });
*/
getAllIntegrationFlows(options?: {
top?: number;
packages?: ComSapHciApiIntegrationPackage[];
}): Promise<ComSapHciApiIntegrationDesigntimeArtifact[]>;
/**
* Ruft alle Script Collections aller Pakete ab
*
* @param {Object} options Optionale Parameter für die Anfrage
* @param {number} [options.top] Maximale Anzahl der zurückzugebenden Pakete für die Abfrage
* @param {ComSapHciApiIntegrationPackage[]} [options.packages] Bereits abgerufene Pakete, um redundante API-Aufrufe zu vermeiden
* @returns {Promise<ComSapHciApiScriptCollectionDesigntimeArtifact[]>} Liste aller Script Collections
*
* @example
* const allScriptCollections = await client.getAllScriptCollections();
*
* // Mit bereits vorhandenen Paketen
* const packages = await client.getIntegrationPackages();
* const allScripts = await client.getAllScriptCollections({ packages });
*/
getAllScriptCollections(options?: {
top?: number;
packages?: ComSapHciApiIntegrationPackage[];
}): Promise<ComSapHciApiScriptCollectionDesigntimeArtifact[]>;
/**
* Gibt alle Message Mappings (tenant-weit) zurück.
*
* @param {Object} options Optionale Parameter für die Anfrage
* @param {number} [options.top] Maximale Anzahl der zurückzugebenden Mappings
* @param {number} [options.skip] Anzahl der zu überspringenden Mappings
* @param {string} [options.select] Zu selektierende Properties
* @param {string} [options.orderby] Sortierreihenfolge
* @returns {Promise<ComSapHciApiMessageMappingDesigntimeArtifact[]>} Promise mit einer Liste von Message Mappings
*
* @example
* const allMappings = await client.getAllMessageMappings({ top: 50 });
*/
getAllMessageMappings(options?: {
top?: number;
skip?: number;
select?: ("Id" | "Version" | "PackageId" | "Name" | "Description" | "ArtifactContent")[];
orderby?: ("Name" | "Name desc")[];
packages?: ComSapHciApiIntegrationPackage[];
}): Promise<ComSapHciApiMessageMappingDesigntimeArtifact[]>;
/**
* Gibt alle Value Mappings (tenant-weit) zurück.
*
* @param {Object} options Optionale Parameter für die Anfrage
* @param {number} [options.top] Maximale Anzahl der zurückzugebenden Mappings
* @param {number} [options.skip] Anzahl der zu überspringenden Mappings
* @param {string} [options.select] Zu selektierende Properties
* @param {string} [options.orderby] Sortierreihenfolge
* @returns {Promise<ComSapHciApiValueMappingDesigntimeArtifact[]>} Promise mit einer Liste von Value Mappings
*
* @example
* const allValueMappings = await client.getAllValueMappings({ top: 20 });
*/
getAllValueMappings(options?: {
top?: number;
skip?: number;
select?: ("Id" | "Version" | "PackageId" | "Name" | "Description" | "ArtifactContent")[];
orderby?: ("Name" | "Name desc")[];
packages?: ComSapHciApiIntegrationPackage[];
}): Promise<ComSapHciApiValueMappingDesigntimeArtifact[]>;
/**
* Gibt detaillierte Fehlerinformationen für ein deployten Integrationsartefakt zurück
* Diese Methode ruft den spezifischen $value-Endpunkt auf, der mehr Details enthält
*
* @param {string} artifactId ID des deployten Integrationsartefakts
* @returns {Promise<DetailedErrorInformation | null>} Promise mit den detaillierten Fehlerinformationen oder null bei Fehlern
*
* @example
* const detailedError = await client.getDetailedArtifactErrorInformation('MyFailedFlow');
* if (detailedError && detailedError.message) {
* console.log(`Fehlertyp: ${detailedError.message.messageId}`);
* if (detailedError.parameter && detailedError.parameter.length > 0) {
* try {
* const paramJson = JSON.parse(detailedError.parameter[0]);
* console.log(`Fehlermeldung: ${paramJson.message}`);
* } catch (e) {
* console.log(`Parameter: ${detailedError.parameter[0]}`);
* }
* }
* }
*/
getDetailedArtifactErrorInformation(artifactId: string): Promise<DetailedErrorInformation | null>;
/**
* Parst die Fehlerdetails aus den Parametern einer DetailedErrorInformation
*
* @param {DetailedErrorInformation} errorInfo Die detaillierten Fehlerinformationen
* @returns {ParsedErrorDetails | null} Die geparsten Fehlerdetails oder null, wenn keine Parameter vorhanden oder das Parsing fehlschlägt
*
* @example
* const detailedError = await client.getDetailedArtifactErrorInformation('MyFailedFlow');
* if (detailedError) {
* const errorDetails = client.parseErrorDetails(detailedError);
* if (errorDetails && errorDetails.message) {
* console.log(`Fehlermeldung: ${errorDetails.message}`);
*
* if (errorDetails.childMessageInstances && errorDetails.childMessageInstances.length > 0) {
* console.log(`Hauptursache: ${errorDetails.childMessageInstances[0].message}`);
* }
* }
* }
*/
parseErrorDetails(errorInfo: DetailedErrorInformation): ParsedErrorDetails | null;
}
/**
* Factory für die Erstellung von IntegrationContentAdvancedClient-Instanzen
*/
export declare class IntegrationContentAdvancedClientFactory implements CustomClientFactory<IntegrationContentClient, IntegrationContentAdvancedClient> {
/**
* Erstellt eine neue IntegrationContentAdvancedClient-Instanz
*
* @param baseClient - Der zugrundeliegende Standard-Client
* @returns Ein IntegrationContentAdvancedClient
*/
create(baseClient: IntegrationContentClient): IntegrationContentAdvancedClient;
}