UNPKG

@pubby.club/sdk

Version:
30 lines (29 loc) 1.11 kB
import { AxiosRequestConfig, AxiosInstance, AxiosStatic } from "axios"; import { OAuthClient } from "./oauth"; import { ApiModule } from "../modules/api/api"; declare module "axios/index.d" { interface AxiosRequestConfig { public?: boolean; } } declare type Params = Record<string, any>; export interface Paged<T> { items: T[]; totalPages: number; totalItems: number; } export declare class Rest<T> { readonly api: ApiModule; static axios: AxiosStatic; oauth: OAuthClient; axios: AxiosInstance; constructor(api: ApiModule, path: string, options?: AxiosRequestConfig); 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 {};