'use strict'; import { showDiv, hideDiv } from './helpers.js'; import { ConsoleLog } from './app_functions.js'; import { showAlertModal, showLoader, hideLoader } from './overlays.js'; const api_base = '/api'; const errorMessages = { '': 'Unbekannter Fehler', 'REQUEST_NOT_FOUND': 'Ungültige Reise', 'JOURNEY_NOT_FOUND': 'Verbindung nicht verfügbar', 'TRY_AGAIN_LATER': 'Versuche es zu einem späteren Zeitpunkt erneut', 'MISSING_VALUES': 'Benötigte Felder nicht ausgefüllt', 'INVALID_DATE': 'Ungültiges Datum', 'UNKNOWN_FROM': 'Unbekannter Abfahrtspunkt', 'UNKNOWN_TO': 'Unbekannter Ankunftspunkt', 'TOO_CLOSE': 'Abfahrts- und Ankunftspunkt zu nah', 'NO_TRIPS': 'Keine Verbindungen gefunden', }; export const get = async (endpoint, params, noLoader) => { if (!noLoader) showLoader(); let data; try { data = await fetch(api_base+endpoint, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify(params) }).then(resp => resp.json()); } catch(e) { data = { msg: "Failed to fetch. Please check your network connection.", }; } if (!noLoader) hideLoader(); if (data.status !== 'success') { showAlertModal(errorMessages[data.msg] || data.msg); throw new Error(data.msg); } else { return data.data; } }