UNPKG

coconut-open-api-js

Version:
81 lines (80 loc) 2.84 kB
import { AxiosInstance } from 'axios'; import { Pageable } from '../index'; import Conditional, { ConditionalResource } from './conditional'; export interface LocatableLocationParameters { [key: string]: any; city?: string; country?: string; region?: string; } export interface LocationFilter { [key: string]: any; assigned?: boolean; invitable?: number; invite_only_resources?: boolean; preferred?: number; method?: number; services?: number | number[] | string | string[]; resource?: string; user?: number | string; user_category?: number | string; virtual?: number; } export interface LocationParameters { assignments?: number; city?: string; client_view_meeting_method?: number; country?: string; invite_only?: number; invite_only_resources?: number; preferred?: number; province?: string; service?: number | number[] | string | string[]; resource?: string; user?: number | string; user_category?: number | string; virtual?: number; } export interface LocationResource extends Pageable, ConditionalResource { assigned(assigned: boolean): this; containing(user: number | string): this; details(identifier: string): Promise<any>; invitable(): this; located(details: LocatableLocationParameters): this; preferred(): this; physical(): this; providing(services: number | number[] | string | string[]): this; suggest(query: string): Promise<any>; supporting(method: number): this; through(resource: string): this; virtual(): this; withInviteOnly(inviteOnlyResources?: boolean): this; withinUserCategory(userCategory: number | string): this; } export default class Location extends Conditional implements LocationResource { protected client: AxiosInstance; protected filters: LocationFilter; protected page: number | null; protected sortable: string | null; protected limit: number | null; constructor(client: AxiosInstance); assigned(assigned?: boolean): this; containing(user: number | string): this; details(identifier: string): Promise<any>; get(): Promise<any>; invitable(): this; located(details: LocatableLocationParameters): this; on(page: number): this; preferred(): this; physical(): this; providing(services: number | number[] | string | string[]): this; sortBy(sortable: string): this; suggest(query: string): Promise<any>; supporting(method: number): this; take(limit: number): this; through(resource: string): this; virtual(): this; withInviteOnly(inviteOnlyResources?: boolean): this; withinUserCategory(userCategory: number | string): this; protected params(): LocationParameters; }