UNPKG

@goteborgco/open-api-js-client

Version:

Official JavaScript client for the Göteborg & Co GraphQL API

211 lines (210 loc) 5.3 kB
export interface Media { id: number; credit?: string; caption?: string; alt_text?: string; media_type?: string; mime_type?: string; sizes?: MediaSizes; getSizes(): MediaSizes; getUrl(size?: 'full' | 'large' | 'medium' | 'thumbnail'): string | undefined; } export interface MediaSizes { medium?: Image; thumbnail?: Image; large?: Image; full?: Image; getSize(size: 'full' | 'large' | 'medium' | 'thumbnail'): Image | undefined; getUrl(size: 'full' | 'large' | 'medium' | 'thumbnail'): string | undefined; getDimensions(size: 'full' | 'large' | 'medium' | 'thumbnail'): { width: number; height: number; } | undefined; } export interface Image { width: number; height: number; source_url: string; } export interface Contact { email?: string; phone?: string; website?: string; facebook?: string; instagram?: string; getSocialLinks(): { facebook?: string; instagram?: string; }; getContactMethods(): { email?: string; phone?: string; website?: string; }; hasContactInfo(): boolean; } export interface Location { address?: string; lat?: number; lng?: number; zoom?: number; place_id?: string; name?: string; street_number?: string; street_name?: string; state?: string; post_code?: string; country?: string; country_short?: string; getCoordinates(): { lat: number; lng: number; } | undefined; getFormattedAddress(): string | undefined; getShortAddress(): string | undefined; } export interface EventDate { start?: string; end?: string; isActive(): boolean; getFormattedRange(): string | undefined; } export interface CurrentInTime { months: number[]; weekdays: number[]; hasMonth(month: number): boolean; hasWeekday(weekday: number): boolean; isCurrentlyActive(): boolean; getFormattedSchedule(): string | undefined; } export interface Features { type: string; geometry: Geometry; properties: Properties; } export interface Geometry { type: string; coordinates: number[]; latitude?: number; longitude?: number; } export interface Properties { name: string; id: number; icon: string; thumbnail: string; type: string; slug: string; } export interface Markers { type: string; features: Features[]; } export interface Related { places?: WpEntity[]; guides?: WpEntity[]; events?: WpEntity[]; getPlaces(): WpEntity[] | undefined; getGuides(): WpEntity[] | undefined; getEvents(): WpEntity[] | undefined; getAllRelated(): { places?: WpEntity[]; guides?: WpEntity[]; events?: WpEntity[]; }; hasRelatedContent(): boolean; } export interface Translations { sv?: number; en?: number; de?: number; getTranslation(lang: 'en' | 'sv' | 'de'): number | undefined; hasTranslation(lang: 'en' | 'sv' | 'de'): boolean; getAvailableTranslations(): { lang: 'en' | 'sv' | 'de'; id: number; }[]; } export interface WpEntity { id: number; date?: string; modified?: string; type?: string; link?: string; title?: string; content?: string; excerpt?: string; categories?: number[]; areas?: number[]; tags?: number[]; invisible_tags?: number[]; lang: 'en' | 'sv' | 'de'; translations?: Translations; featuredmedia?: Media[]; category_heading?: string; gallery?: Media[]; contact?: Contact; location?: Location; is_free?: boolean; dates?: EventDate[]; place_id?: number; classification?: number; current_in_time?: CurrentInTime; getFeaturedMedia(): Media | undefined; getImageUrl(size?: 'full' | 'large' | 'medium' | 'thumbnail'): string | undefined; getGalleryUrls(size?: 'full' | 'large' | 'medium' | 'thumbnail'): string[]; isActive(): boolean; getCoordinates(): { lat: number; lng: number; } | undefined; getFormattedAddress(): string | undefined; getContact(): Contact | undefined; getTranslation(lang: 'en' | 'sv' | 'de'): number | undefined; getCurrentInTime(): CurrentInTime | undefined; } export interface GuideFilter { lang: 'en' | 'sv' | 'de'; categories?: number[]; areas?: number[]; tags?: number[]; invisible_tags?: number[]; per_page?: number; page?: number; } export interface EventFilter { lang: 'en' | 'sv' | 'de'; places?: number[]; categories?: number[]; areas?: number[]; tags?: number[]; invisible_tags?: number[]; free?: number; start?: string; end?: string; distance?: number; coords?: string; per_page?: number; page?: number; } export interface PlaceFilter { lang: 'en' | 'sv' | 'de'; places?: number[]; categories?: number[]; areas?: number[]; tags?: number[]; distance?: number; coords?: string; per_page?: number; page?: number; } export interface LangFilter { lang?: 'en' | 'sv' | 'de'; } export interface SearchFilter extends LangFilter { query: string; } export interface SortOptions { fields?: string | string[]; orders?: 'asc' | 'desc' | ('asc' | 'desc')[]; }