@eleva-io/erp-sdk
Version:
SDK oficial para el ERP de Eleva
49 lines • 2.82 kB
TypeScript
import { APIResponse } from '../types';
import { CrossPlatformBuffer, CrossPlatformFileResponse } from './compatibility';
import { Logger } from 'pino';
import { GlobalAmount } from '../modules/global/types';
import { TagTuple } from '../modules/horizontal/communities/types/tag';
export declare const ELEVA_HEADER_IMPERSONATE = "x-eleva-impersonate";
export declare const ELEVA_HEADER_SDK_VERSION = "x-eleva-sdk-version";
export declare const ELEVA_HEADER_APP = "x-eleva-app";
export declare const ELEVA_HEADER_APP_VERSION = "x-eleva-app-version";
export type ElevaApp = 'dashboard' | 'eleva4residents' | 'eleva-go' | 'gesfincas' | 'noticeCollection';
type AppConfig = {
app: ElevaApp;
appVersion: string;
};
export interface HTTPClientConfigWithAPIKey {
baseURL: string;
apiKey: string;
apiSecret: string;
emitWebhook?: boolean;
}
export interface HTTPClientConfigWithToken {
baseURL: string;
token: string;
}
export type HTTPClientConfig = (HTTPClientConfigWithAPIKey | HTTPClientConfigWithToken) & AppConfig;
export interface FormFileData {
name: string;
data: CrossPlatformBuffer | string;
}
export type FormValue = string | string[] | CrossPlatformBuffer | CrossPlatformBuffer[] | number | number[] | boolean | boolean[] | FormFileData | FormFileData[] | null | undefined | GlobalAmount | TagTuple | TagTuple[];
export type HTTPHeaderValue = string | string[] | number | boolean | null;
export type HTTPHeaders = Record<string, HTTPHeaderValue>;
export declare class HTTPClient {
private _config;
private _logger;
constructor(_config: HTTPClientConfig, _logger: Logger);
private _buildHeaders;
private _buildUrl;
private _request;
get<T, Q extends object = Record<string, unknown>>(path: string, params?: Q, headers?: HTTPHeaders): Promise<APIResponse<T>>;
post<T, Q extends object = Record<string, unknown>>(path: string, data?: unknown, params?: Q, headers?: HTTPHeaders): Promise<APIResponse<T>>;
put<T, Q extends object = Record<string, unknown>>(path: string, data?: unknown, params?: Q, headers?: HTTPHeaders): Promise<APIResponse<T>>;
patch<T, Q extends object = Record<string, unknown>>(path: string, data?: unknown, params?: Q, headers?: HTTPHeaders): Promise<APIResponse<T>>;
delete<T, Q extends object = Record<string, unknown>>(path: string, params?: Q, headers?: HTTPHeaders): Promise<APIResponse<T>>;
getBinary<Q extends object = Record<string, unknown>>(path: string, params?: Q, headers?: HTTPHeaders): Promise<CrossPlatformFileResponse>;
form<T, Q extends object = Record<string, unknown>>(path: string, data: Record<string, FormValue | Record<string, FormValue>>, method?: 'POST' | 'PUT' | 'PATCH', params?: Q, headers?: HTTPHeaders): Promise<APIResponse<T>>;
}
export {};
//# sourceMappingURL=http.d.ts.map