const { Configuration } = require('omsorgcore-client-ts'); const { API_BASE } = require('./config.cjs'); // Baut die Configuration für eine generierte *Api-Klasse (omsorgcore-client-ts). // Einzige Stelle, die API_BASE mit dem generierten Client verbindet. function configFor(accessToken) { return new Configuration({ basePath: API_BASE, accessToken }); } // Wandelt den Aufruf einer generierten `...Raw()`-Methode in denselben // Vertrag um, den vorher httpClient.request(...) lieferte: { ok, status, data, error? }. // Generierte Clients werfen bei Nicht-2xx eine ResponseError-Exception statt ein // Ergebnisobjekt zurückzugeben - das fangen wir hier zentral ab. async function callApi(rawPromise) { try { const response = await rawPromise; const data = await response.value(); return { ok: true, status: response.raw.status, data: data === undefined ? null : data }; } catch (err) { if (err && err.name === 'ResponseError') { const status = err.response.status; let data = null; try { data = await err.response.json(); } catch { data = null; } return { ok: false, status, data }; } return { ok: false, status: 0, data: null, error: err && err.message }; } } module.exports = { configFor, callApi };