UNPKG

sap-servicelayer

Version:

Biblioteca TypeScript para integração com SAP Service Layer API

90 lines (89 loc) 2.77 kB
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>>; }