import ApiResource from "~/models/ApiResource"; import {EnumChoice} from "~/types/interfaces"; type AnyJson = Record export const enum HTTP_METHOD { POST = 'POST', PUT = 'PUT', GET = 'GET', DELETE = 'DELETE' } interface AssociativeArray { [key: string]: any; } interface Connector { request( method: HTTP_METHOD, url: string, body: null | any, params: null | AssociativeArray, query: null | AssociativeArray ) } export const enum METADATA_TYPE { ITEM, COLLECTION } interface HydraMetadata { readonly totalItems?: number firstPage?: number lastPage?: number nextPage?: number previousPage?: number type?: METADATA_TYPE } interface ApiResponse { data: AnyJson metadata: HydraMetadata } interface ApiCollection extends ApiResponse { data: AnyJson metadata: HydraMetadata } interface Pagination { first?: number last?: number next?: number previous?: number } interface Collection { items: Array pagination: Pagination totalItems: number | undefined } interface EnumItem { value: string label: string } type Enum = Array