42 lines
1.2 KiB
JavaScript
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;
|
||
|
}
|
||
|
}
|