@sap/adp-abap
Version:
abap service for all yeoman generators
56 lines (55 loc) • 2.45 kB
TypeScript
import type { AbapServiceProvider, AxiosRequestConfig, ProviderConfiguration } from "@sap-ux/axios-extension";
import type { EndpointsManager } from "@sap/adp-common";
export type RequestOptions = AxiosRequestConfig & Partial<ProviderConfiguration>;
/**
* Service for managing and providing access to an ABAP service provider.
*/
export declare class AbapProvider {
private endpointsManager;
private provider;
private connected;
private system;
/**
* Constructs an instance of AbapProvider.
*
* @param {EndpointsManager} endpointsManager - The endpoints service for retrieving system details.
*/
constructor(endpointsManager: EndpointsManager);
/**
* Retrieves the configured ABAP service provider if set, otherwise throws an error.
*
* @returns {AbapServiceProvider} - The configured ABAP service provider.
*/
getProvider(): AbapServiceProvider;
/**
* Retrieves wheter the configured ABAP service provider is connected to ABAP system.
*
* @returns {boolean} - if provider is connected to ABAP system.
*/
isConnected(): boolean;
/**
* Retrieves ABAP service provider connected ABAP system.
*
* @returns {string | undefined} - the connected system.
*/
getSystem(): string | undefined;
/**
* Configures the ABAP service provider using the specified system details and credentials.
*
* @param {string} system - The system identifier.
* @param {string} [client] - The client, if applicable.
* @param {string} [username] - The username for authentication.
* @param {string} [password] - The password for authentication.
*/
setProvider(system: string, client?: string, username?: string, password?: string): Promise<void>;
/**
* Determines the target configuration for the ABAP service provider based on whether the application
* is running within SAP App Studio or outside of it.
*
* @param {RequestOptions} requestOptions - The request options to be configured during this setup.
* @param {string} system - The system identifier, which could be a URL or a system name.
* @param {string} [client] - Optional client number, used in systems where multiple clients exist.
* @returns {Promise<AbapTarget>} - The configuration object for the ABAP service provider, tailored based on the running environment.
*/
private determineTarget;
}