2024-02-06 22:58:49 +01:00
|
|
|
import {createRequire} from 'module';
|
|
|
|
const require = createRequire(import.meta.url);
|
2025-02-07 12:55:08 +01:00
|
|
|
const dynamicProfileData = require('./dynamicProfileData.json');
|
|
|
|
const dbnavBase = require('../dbnav/base.json');
|
|
|
|
const dbregioguideBase = require('../dbregioguide/base.json');
|
|
|
|
const dbwebBase = require('../dbweb/base.json');
|
2024-12-21 15:26:49 +00:00
|
|
|
import {products} from '../../lib/products.js';
|
2017-11-12 23:51:39 +01:00
|
|
|
|
2022-05-07 16:17:37 +02:00
|
|
|
const profile = {
|
2017-12-11 17:21:50 +01:00
|
|
|
locale: 'de-DE',
|
2017-11-12 23:51:39 +01:00
|
|
|
timezone: 'Europe/Berlin',
|
2018-01-15 00:45:05 +01:00
|
|
|
|
2024-12-21 15:26:49 +00:00
|
|
|
products,
|
2024-02-06 22:58:49 +01:00
|
|
|
};
|
2017-11-12 23:51:39 +01:00
|
|
|
|
2025-02-07 12:55:08 +01:00
|
|
|
// add profile methods
|
|
|
|
for (const {profileName, profileMethods} of Object.values(dynamicProfileData)) {
|
|
|
|
for (const {methodName, moduleName} of profileMethods) {
|
|
|
|
try {
|
|
|
|
// TODO use `import()` with top-level await once updated to es2022
|
|
|
|
profile[methodName] = require(`../${profileName}/${moduleName}`)[methodName];
|
|
|
|
} catch { /* use implementation from default profile if module doesn't exist */ }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const bases = {
|
|
|
|
dbnav: dbnavBase,
|
|
|
|
dbregioguide: dbregioguideBase,
|
|
|
|
dbweb: dbwebBase,
|
|
|
|
};
|
|
|
|
|
|
|
|
// add endpoint bases
|
|
|
|
for (const {profileName, baseKeys} of Object.values(dynamicProfileData)) {
|
|
|
|
if (profileName !== 'db') { // only add endpoint(s) from specified profile
|
|
|
|
for (const baseKey of baseKeys) {
|
|
|
|
profile[baseKey] = bases[profileName][baseKey];
|
|
|
|
}
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
// add endpoints from all profiles with the profile names as key suffixes and dynamically decide which to use later
|
|
|
|
for (const [profileName, profileBases] of Object.entries(bases)) {
|
|
|
|
for (const baseKey of baseKeys) {
|
|
|
|
profile[`${baseKey}_${profileName}`] = profileBases[baseKey];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-05-07 16:17:37 +02:00
|
|
|
export {
|
|
|
|
profile,
|
2024-02-06 22:58:49 +01:00
|
|
|
};
|