UNPKG

@contiva/sap-integration-suite-client

Version:
154 lines (153 loc) 9.27 kB
"use strict"; /** * SAP Cloud Platform Integration API Client * * A complete library for interacting with SAP Cloud Integration APIs. * Provides type-safe access to all SAP CPI API endpoints with built-in authentication handling. * * @packageDocumentation * @module sap-integration-suite-client * @example * // Using the default client (requires environment variables) * import { defaultClient } from 'sap-integration-suite-client'; * * const packages = await defaultClient.integrationContent.integrationPackages.integrationPackagesList(); * * @example * // Creating a custom client * import SapClient from 'sap-integration-suite-client'; * * const client = new SapClient({ * baseUrl: 'https://tenant.sap-api.com/api/v1', * oauthClientId: 'client-id', * oauthClientSecret: 'client-secret', * oauthTokenUrl: 'https://tenant.authentication.sap.hana.ondemand.com/oauth/token' * }); */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PartnerDirectoryClient = exports.B2BScenariosClient = exports.SecurityContentClient = exports.MessageStoreClient = exports.MessageProcessingLogsClient = exports.LogFilesClient = exports.IntegrationContentAdvancedClient = exports.IntegrationContentClient = exports.EnhancedLogTypes = exports.PartnerDirectoryTypes = exports.B2BScenariosTypes = exports.SecurityContentTypes = exports.MessageStoreTypes = exports.MessageProcessingLogsTypes = exports.LogFilesTypes = exports.IntegrationContentTypes = exports.buildODataFilter = exports.enhanceLogsWithDates = exports.SapDateUtils = exports.formatSapTimestampsInObject = exports.REVALIDATE_AFTER = exports.CACHE_TTL = exports.getCacheTTLConfig = exports.resetCacheTTL = exports.configureCacheTTL = exports.CacheManager = exports.SapClient = exports.defaultClient = void 0; // Core Client and Config const sap_client_1 = __importDefault(require("./clients/sap-client")); exports.SapClient = sap_client_1.default; const cache_manager_1 = require("./core/cache-manager"); Object.defineProperty(exports, "CacheManager", { enumerable: true, get: function () { return cache_manager_1.CacheManager; } }); const cache_config_1 = require("./core/cache-config"); Object.defineProperty(exports, "configureCacheTTL", { enumerable: true, get: function () { return cache_config_1.configureCacheTTL; } }); Object.defineProperty(exports, "resetCacheTTL", { enumerable: true, get: function () { return cache_config_1.resetCacheTTL; } }); Object.defineProperty(exports, "getCacheTTLConfig", { enumerable: true, get: function () { return cache_config_1.getCacheTTLConfig; } }); Object.defineProperty(exports, "CACHE_TTL", { enumerable: true, get: function () { return cache_config_1.CACHE_TTL; } }); Object.defineProperty(exports, "REVALIDATE_AFTER", { enumerable: true, get: function () { return cache_config_1.REVALIDATE_AFTER; } }); const integration_content_client_1 = require("./wrapper/integration-content-client"); Object.defineProperty(exports, "IntegrationContentClient", { enumerable: true, get: function () { return integration_content_client_1.IntegrationContentClient; } }); const integration_content_advanced_client_1 = require("./wrapper/custom/integration-content-advanced-client"); Object.defineProperty(exports, "IntegrationContentAdvancedClient", { enumerable: true, get: function () { return integration_content_advanced_client_1.IntegrationContentAdvancedClient; } }); const log_files_client_1 = require("./wrapper/log-files-client"); Object.defineProperty(exports, "LogFilesClient", { enumerable: true, get: function () { return log_files_client_1.LogFilesClient; } }); const message_processing_logs_client_1 = require("./wrapper/message-processing-logs-client"); Object.defineProperty(exports, "MessageProcessingLogsClient", { enumerable: true, get: function () { return message_processing_logs_client_1.MessageProcessingLogsClient; } }); const message_store_client_1 = require("./wrapper/message-store-client"); Object.defineProperty(exports, "MessageStoreClient", { enumerable: true, get: function () { return message_store_client_1.MessageStoreClient; } }); const security_content_client_1 = require("./wrapper/security-content-client"); Object.defineProperty(exports, "SecurityContentClient", { enumerable: true, get: function () { return security_content_client_1.SecurityContentClient; } }); const b2b_scenarios_client_1 = require("./wrapper/b2b-scenarios-client"); Object.defineProperty(exports, "B2BScenariosClient", { enumerable: true, get: function () { return b2b_scenarios_client_1.B2BScenariosClient; } }); const partner_directory_client_1 = require("./wrapper/partner-directory-client"); Object.defineProperty(exports, "PartnerDirectoryClient", { enumerable: true, get: function () { return partner_directory_client_1.PartnerDirectoryClient; } }); // Utilities const date_formatter_1 = require("./utils/date-formatter"); Object.defineProperty(exports, "formatSapTimestampsInObject", { enumerable: true, get: function () { return date_formatter_1.formatSapTimestampsInObject; } }); Object.defineProperty(exports, "SapDateUtils", { enumerable: true, get: function () { return date_formatter_1.SapDateUtils; } }); const log_enhancer_1 = require("./utils/log-enhancer"); Object.defineProperty(exports, "enhanceLogsWithDates", { enumerable: true, get: function () { return log_enhancer_1.enhanceLogsWithDates; } }); const odata_filter_builder_1 = require("./utils/odata-filter-builder"); Object.defineProperty(exports, "buildODataFilter", { enumerable: true, get: function () { return odata_filter_builder_1.buildODataFilter; } }); // Types const IntegrationContentTypes = __importStar(require("./types/sap.IntegrationContent")); exports.IntegrationContentTypes = IntegrationContentTypes; const LogFilesTypes = __importStar(require("./types/sap.LogFiles")); exports.LogFilesTypes = LogFilesTypes; const MessageProcessingLogsTypes = __importStar(require("./types/sap.MessageProcessingLogs")); exports.MessageProcessingLogsTypes = MessageProcessingLogsTypes; const MessageStoreTypes = __importStar(require("./types/sap.MessageStore")); exports.MessageStoreTypes = MessageStoreTypes; const SecurityContentTypes = __importStar(require("./types/sap.SecurityContent")); exports.SecurityContentTypes = SecurityContentTypes; const B2BScenariosTypes = __importStar(require("./types/sap.B2BScenarios")); exports.B2BScenariosTypes = B2BScenariosTypes; const PartnerDirectoryTypes = __importStar(require("./types/sap.PartnerDirectory")); exports.PartnerDirectoryTypes = PartnerDirectoryTypes; const EnhancedLogTypes = __importStar(require("./types/enhanced-logs")); exports.EnhancedLogTypes = EnhancedLogTypes; /** * Lazy-loaded default client * This ensures the client is only created when actually accessed, * not at import time */ let _defaultClient = null; /** * Default client getter function * * This client reads configuration from environment variables: * - SAP_BASE_URL * - SAP_OAUTH_CLIENT_ID * - SAP_OAUTH_CLIENT_SECRET * - SAP_OAUTH_TOKEN_URL * * The client is created only when this function is called, not at import time. * * @returns A SapClient instance configured with environment variables * @deprecated Consider creating your own client instance with explicit configuration */ function getDefaultClient() { if (!_defaultClient) { _defaultClient = new sap_client_1.default(); } return _defaultClient; } // Create a proxy for lazy loading the default client const defaultClientProxy = new Proxy({}, { get: (target, prop) => { // Create the client on first property access const client = getDefaultClient(); return client[prop]; } }); exports.defaultClient = defaultClientProxy; // Export Core Client class as default exports.default = sap_client_1.default;