/** * Structures data as returned by the API and consumed by the structures page */ interface Address { type: string, // type: 'ADDRESS_PRACTICE' | 'ADDRESS_OTHER' | 'ADDRESS_HEAD_OFFICE' | 'ADDRESS_CONTACT' | 'ADDRESS_BILL', latitude: number, longitude: number, streetAddress: string, postalCode: string, addressCity: string, country: string } interface Article { id: number, date: string, link: string, title: string } interface Structure { readonly id: number, name: string, logoId: string | null, type: string | null, website: string | null, mapAddress: Address | null, postalAddress: Address | null, addresses: Array
, phone: string | null, mobilePhone: string | null, email: string | null, facebook: string | null, twitter: string | null, instagram: string | null, youtube: string | null, practices: Array, parentId: number | null, parentName: string | null, parents: Array, description: string | null, imageId: string | null, articles: Array
} interface Coordinates { latitude: number, longitude: number } /** * Items of the UiSearchAddress component */ interface UiSearchAddressItem { text: string, value: Coordinates, disabled?: boolean } interface PublicEvent { uuid: string, organizationId: number | null, name: string, description: string | null, url: string | null, datetimeStart: Date, datetimeEnd: Date, address: Address | null, roomName: string | null, roomDescription: string | null, roomCapacity: string | null, roomFloorSize: string | null, imageUrl: string | null, thumbnailUrl: string | null, categories: Array, origin: string, entityId: number } interface DateRange { start: string, end: string } interface DateRangePreset { label: string, range: DateRange } interface HydraCollection { iri: string, totalItems: number, page: number | null, previousPage: number | null, nextPage: number | null, firstPage: number | null, lastPage: number | null items: Array, }