UNPKG

@availity/api-axios

Version:

Wrappers for axios designed to work with the Availity portal

283 lines (181 loc) 8.99 kB
import { AxiosRequestConfig, AxiosStatic, AxiosResponse } from 'axios'; /* eslint-disable @typescript-eslint/no-empty-interface */ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/ban-types */ /* eslint-disable max-classes-per-file */ interface ApiConfig extends AxiosRequestConfig { api?: boolean; cache?: boolean; cacheBust?: string | number | boolean; http?: AxiosStatic; name?: string; pageBust?: string | number | boolean; path?: string; polling?: boolean; pollingIntervals?: number[]; pollingMethod?: string; sessionBust?: boolean; version?: string; } type Request = any; declare class AvApi<ConfigProps = ApiConfig> { constructor(options: ConfigProps); config(config?: ConfigProps): ConfigProps; addParams(params: object, config?: ConfigProps, newObj?: boolean): ConfigProps; cacheParams(config: ConfigProps): ConfigProps; getSessionBust(): any; getCacheBustVal(cacheBust: any, defaultFn: () => any): any; getPageBust(): any; setPageBust(value: any): void; getUrl(config: ConfigProps, id?: string): string; getRequestUrl(): string; getLocation(response: any): string; shouldPoll(response: any): boolean; getQueryResultKey(data: any): any; getResult(data: any): any; request<TData = any>(config: ConfigProps, afterResponse?: (resp: any) => any): Promise<AxiosResponse<TData>>; onResponse(response: any, afterResponse?: (resp: any) => any): Promise<any>; sendBeacon(data: any, config?: ConfigProps): Promise<any>; // Create create<TData = any>(data: Request, config?: ConfigProps): Promise<AxiosResponse<TData>>; post<TData = any>(data: Request, config?: ConfigProps): Promise<AxiosResponse<TData>>; postGet<TData = any>(data: Request, config?: ConfigProps): Promise<AxiosResponse<TData>>; // Read get<TData = any>(id: string, config?: ConfigProps): Promise<AxiosResponse<TData>>; query<TData = any>(config?: ConfigProps): Promise<AxiosResponse<TData>>; getPage<TData = any>(page: number, config?: ConfigProps, limit?: number): Promise<AxiosResponse<TData>>; all<TData = any>(config?: ConfigProps): Promise<AxiosResponse<TData>>; // Update update<TData = any>(id: string, data: Request, config?: ConfigProps): Promise<AxiosResponse<TData>>; put<TData = any>(id: string, data: Request, config?: ConfigProps): Promise<AxiosResponse<TData>>; put<TData = any>(data: Request, config?: ConfigProps): Promise<AxiosResponse<TData>>; patch<TData = any>(id: string, data: Request, config?: ConfigProps): Promise<AxiosResponse<TData>>; // Delete remove<TData = any>(id: string, config?: ConfigProps): Promise<AxiosResponse<TData>>; delete<TData = any>(id: string, config?: ConfigProps): Promise<AxiosResponse<TData>>; } declare class AvMicroserviceApi extends AvApi {} interface ProxyApiConfig extends ApiConfig { tenant: string; } declare class AvProxyApi extends AvApi<ProxyApiConfig> {} declare class AvCodesApi extends AvApi {} declare const avCodesApi: AvCodesApi; declare class AvDisclaimersApi extends AvApi { getDisclaimers(id: string, config?: ApiConfig): Promise<AxiosResponse>; } declare const avDisclaimersApi: AvDisclaimersApi; declare class AvFilesApi extends AvApi { uploadFile(data: any, config?: ApiConfig): Promise<AxiosResponse>; } declare const avFilesApi: AvFilesApi; declare class AvFilesDeliveryApi extends AvApi { uploadFilesDelivery(data: any, config?: ApiConfig & { customerId: string; clientId: string }): Promise<AxiosResponse>; getLocation(response: any): string; } declare const avFilesDeliveryApi: AvFilesDeliveryApi; declare class AvLogMessagesApi extends AvApi { send(level: 'info' | 'debug' | 'warn' | 'error', entries: Record<string, any>): Promise<AxiosResponse>; debug(entries: Record<string, any>): Promise<AxiosResponse>; info(entries: Record<string, any>): Promise<AxiosResponse>; warn(entries: Record<string, any>): Promise<AxiosResponse>; error(entries: Record<string, any>): Promise<AxiosResponse>; } declare class AvTelemetryApi extends AvMicroserviceApi { send(level: 'info' | 'debug' | 'warn' | 'error', entries: Record<string, any>): Promise<AxiosResponse>; debug(entries: Record<string, any>): Promise<AxiosResponse>; info(entries: Record<string, any>): Promise<AxiosResponse>; warn(entries: Record<string, any>): Promise<AxiosResponse>; error(entries: Record<string, any>): Promise<AxiosResponse>; } declare class AvLogMessagesApiV2 extends AvLogMessagesApi {} declare const avLogMessagesApi: AvLogMessagesApi; declare const avLogMessagesApiV2: AvLogMessagesApiV2; declare const avTelemetryApi: AvTelemetryApi; declare class AvNavigationApi extends AvApi {} declare const avNavigationApi: AvNavigationApi; declare class AvNotificationsApi extends AvApi { deleteByTopic(topic: string, config?: ApiConfig): Promise<AxiosResponse>; } declare const avNotificationsApi: AvNotificationsApi; declare class AvOrganizationsApi extends AvApi { queryOrganizations(user: { id: string }, config?: ApiConfig): Promise<AxiosResponse>; getOrganizations(config?: ApiConfig): Promise<AxiosResponse>; postGet(data: any, config?: ApiConfig, additionalPostGetArgs?: Record<string, any>): Promise<AxiosResponse>; getFilteredOrganizations(additionalPostGetArgs: Record<string, any>, data: any): Promise<AxiosResponse>; arePermissionsEqual(permissionId: string | number | string[] | number[]): boolean; sanitizeIds<T = string | number | string[] | number[]>(unsanitized: T): string | string[]; } declare const avOrganizationsApi: AvOrganizationsApi; declare class AvPdfApi extends AvApi { onPdf(response: any): void; getPdf(data: any, config?: ApiConfig): Promise<AxiosResponse>; } declare const avPdfApi: AvPdfApi; declare class AvPdfMicroserviceApi extends AvMicroserviceApi {} declare const avPdfMicroserviceApi: AvPdfMicroserviceApi; declare class AvPermissionsApi extends AvApi { getPermissions(id: string, region: string): Promise<AxiosResponse>; } declare const avPermissionsApi: AvPermissionsApi; type Provider = { name: string; businessName: string; lastName: string; firstName: string; }; declare class AvProvidersApi extends AvApi { getProviders(customerId: string, config?: ApiConfig): Promise<AxiosResponse>; normalize(providers: Provider[]): Provider[]; } declare const AvProvidersApi: AvProvidersApi; declare const avProvidersApi: AvProvidersApi; declare class AvRegionsApi extends AvApi { afterUpdate(response: any): any; getRegions(config?: ApiConfig): Promise<AxiosResponse>; getCurrentRegion(): Promise<AxiosResponse>; } declare const avRegionsApi: AvRegionsApi; declare class AvSettingsApi extends AvApi { getApplication(applicationId: string, config?: ApiConfig): Promise<AxiosResponse>; setApplication(applicationId: string, data: any, config?: ApiConfig): Promise<AxiosResponse>; } declare const avSettingsApi: AvSettingsApi; declare class AvSlotMachineApi extends Omit<AvApi, 'query'> { query<TData = any>(data: any, variables: any): Promise<AxiosResponse<TData>>; } declare const avSlotMachineApi: AvSlotMachineApi; declare class AvSpacesApi extends AvApi { parseSpaceId(query: string): string; getSpaceName(spaceId: string): Promise<string>; } declare const avSpacesApi: AvSpacesApi; declare class AvUserApi extends AvApi { me(config?: ApiConfig): Promise<any>; } declare const avUserApi: AvUserApi; type Resource = { id: string; payerId: string; payerName: string; }; type Organization = { id: string; customerId: string; name: string; resources: Resource[]; }; type AxiUserPermission = { id: string; description: string; organizations: Organization[]; }; declare class AvUserPermissionsApi extends AvApi { afterQuery(response: AxiosResponse<{ axiUserPermissions: AxiUserPermission[] }>): AxiUserPermission[]; getPermissions(permissionId: string | string[], region?: string): Promise<AxiUserPermission[]>; } declare const avUserPermissionsApi: AvUserPermissionsApi; declare class AvWebQLApi extends AvApi {} declare const avWebQLApi: AvWebQLApi; export { type ApiConfig, AvCodesApi, AvDisclaimersApi, AvFilesApi, AvFilesDeliveryApi, AvLogMessagesApi, AvLogMessagesApiV2, AvMicroserviceApi, AvNavigationApi, AvNotificationsApi, AvOrganizationsApi, AvPdfApi, AvPdfMicroserviceApi, AvPermissionsApi, AvProvidersApi, AvProxyApi, AvRegionsApi, AvSettingsApi, AvSlotMachineApi, AvSpacesApi, AvTelemetryApi, AvUserApi, AvUserPermissionsApi, AvWebQLApi, type ProxyApiConfig, avCodesApi, avDisclaimersApi, avFilesApi, avFilesDeliveryApi, avLogMessagesApi, avLogMessagesApiV2, avNavigationApi, avNotificationsApi, avOrganizationsApi, avPdfApi, avPdfMicroserviceApi, avPermissionsApi, avProvidersApi, avRegionsApi, avSettingsApi, avSlotMachineApi, avSpacesApi, avTelemetryApi, avUserApi, avUserPermissionsApi, avWebQLApi, AvApi as default };