sap-servicelayer
Version:
Biblioteca TypeScript para integração com SAP Service Layer API
90 lines (89 loc) • 2.77 kB
TypeScript
import { ServiceLayerConfig, RequestConfig, ExecuteBatchConfig, ExecuteSmlsvcConfig, PaginatedResponse, BatchResponse } from './types';
/**
* Classe para integração com SAP Service Layer
*/
export declare class ServiceLayer {
private cookie;
private routerId;
private database;
private username;
private password;
private url;
private language;
private timeout;
private retries;
/**
* Construtor da classe ServiceLayer
* @param config Configurações do Service Layer
*/
constructor(config: ServiceLayerConfig);
/**
* Realiza login no Service Layer
*/
login(): Promise<void>;
/**
* Realiza logout do Service Layer
* Nota: Deve ser feito no lado do cliente apenas apagando o token recebido no login
*/
logout(): Promise<void>;
/**
* Executa uma requisição no Service Layer (método privado)
* @param config Configurações da requisição
* @returns Dados da resposta
*/
private execute;
/**
* Gera um GUID único
*/
private generateGuid;
/**
* Cria headers formatados para batch
*/
private createHeader;
/**
* Obtém a versão do Service Layer da URL
*/
private getVersionSL;
/**
* Executa operações em batch
* @param config Configurações do batch
* @returns Array de respostas das operações
*/
executeBatch(config: ExecuteBatchConfig): Promise<BatchResponse[]>;
/**
* Executa requisições SMLSVC
* @param config Configurações da requisição SMLSVC
* @returns Dados da resposta
*/
executeSmlsvc<T = any>(config: ExecuteSmlsvcConfig): Promise<T>;
/**
* Executa uma requisição GET
* @param config Configurações da requisição
* @returns Dados da resposta
*/
get<T = any>(config: RequestConfig): Promise<PaginatedResponse<T>>;
/**
* Executa uma requisição POST
* @param config Configurações da requisição
* @returns Dados da resposta
*/
post<T = any>(config: RequestConfig): Promise<PaginatedResponse<T>>;
/**
* Executa uma requisição PUT
* @param config Configurações da requisição
* @returns Dados da resposta
*/
put<T = any>(config: RequestConfig): Promise<PaginatedResponse<T>>;
/**
* Executa uma requisição PATCH
* @param config Configurações da requisição
* @returns Dados da resposta
*/
patch<T = any>(config: RequestConfig): Promise<PaginatedResponse<T>>;
/**
* Executa uma requisição DELETE
* @param config Configurações da requisição
* @returns Dados da resposta
*/
delete<T = any>(config: RequestConfig): Promise<PaginatedResponse<T>>;
}