oeffisearch/client/js/api.js
2020-02-07 14:09:42 +01:00

42 lines
1.2 KiB
JavaScript

'use strict';
import { showDiv, hideDiv } from './helpers.js';
import { ConsoleLog } from './app_functions.js';
import { showAlertModal, showLoader, hideLoader } from './overlays.js';
const api_base = '';
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+"?"+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;
}
}