UNPKG

@pubby/sdk

Version:
34 lines (33 loc) 1.24 kB
import { AxiosRequestConfig, AxiosInstance, AxiosStatic } from "axios"; import { OAuthClient } from "../modules/auth/oauth"; import { ApiModule } from "../modules/api"; declare module "axios/index.d" { interface AxiosRequestConfig { public?: boolean; } } declare type Params = Record<string, any>; export interface Paged<T> { data: T[]; totalPages: number; totalItems: number; pageSize: number; pageNumber?: number; offset: number; } export declare class Rest<T> { readonly api: ApiModule; static axios: AxiosStatic; oauth: OAuthClient; axios: AxiosInstance; constructor(api: ApiModule, path: string, options?: AxiosRequestConfig); get baseURL(): string; request(options?: AxiosRequestConfig): Promise<any>; find(params?: Params, config?: AxiosRequestConfig): Promise<Paged<T>>; findOne(id: string, params?: Params, config?: AxiosRequestConfig): Promise<T>; create(data: any, params?: Params, config?: {}): Promise<T>; update(data: any, params?: Params, config?: {}): Promise<T>; delete(id: string, params?: Params, config?: {}): Promise<void>; save(data: any, params?: Params, config?: {}): Promise<T>; } export {};