feat(backend): Verbesserung der Sprachwertinitialisierung in initializeTypes.js

- Sicherstellung, dass die Sprachwerte für Deutsch und Englisch existieren, und Erstellung fehlender Werte.
- Aktualisierung der Logik zur Ermittlung der Sprach-ID, um die neuen Sprachwerte zu berücksichtigen.
- Verbesserung der Konsolenausgaben zur besseren Nachverfolgbarkeit bei der Erstellung von Interessen und Fehlern.
This commit is contained in:
Torsten Schulz (local)
2025-08-29 13:49:10 +02:00
parent 516e367031
commit 0f90615690

View File

@@ -146,10 +146,30 @@ const initializeTypes = async () => {
escapade: { adult: true, translation: { value: 'Eskapade', language: 'de' } }, escapade: { adult: true, translation: { value: 'Eskapade', language: 'de' } },
sexuality: { adult: true, translation: { value: 'Sexualität', language: 'de' } } sexuality: { adult: true, translation: { value: 'Sexualität', language: 'de' } }
}; };
// Stelle sicher, dass die Sprachwerte existieren
const languages = await UserParamValue.findAll({where: { value: {[Op.in]: ['de', 'en']} } }); const languages = await UserParamValue.findAll({where: { value: {[Op.in]: ['de', 'en']} } });
// Erstelle fehlende Sprachwerte
const languageValues = ['de', 'en'];
for (const langValue of languageValues) {
if (!languages.find(lang => lang.value === langValue)) {
console.log(`🌐 Erstelle fehlenden Sprachwert: ${langValue}`);
await UserParamValue.create({
value: langValue,
paramTypeId: 1 // Annahme: Standard-Parametertyp für Sprachen
});
}
}
// Lade die aktualisierten Sprachwerte
const updatedLanguages = await UserParamValue.findAll({where: { value: {[Op.in]: ['de', 'en']} } });
const languageId = (language) => { const languageId = (language) => {
const lang = languages.find((lang) => lang.value === language); const lang = updatedLanguages.find((lang) => lang.value === language);
return lang ? lang.id : null; if (!lang) {
throw new Error(`Sprachwert '${language}' nicht gefunden in UserParamValue`);
}
return lang.id;
}; };
for (const key of Object.keys(interestsList)) { for (const key of Object.keys(interestsList)) {
@@ -162,7 +182,7 @@ const initializeTypes = async () => {
if (created) { if (created) {
const langId = languageId('de'); const langId = languageId('de');
console.log(item.id, langId, value.translation.value); console.log(`✅ Erstelle Interesse: ${key} (ID: ${item.id}, Sprache: ${langId}, Übersetzung: ${value.translation.value})`);
await InterestTranslation.create({ await InterestTranslation.create({
interestsId: item.id, interestsId: item.id,
language: langId, language: langId,
@@ -170,6 +190,7 @@ const initializeTypes = async () => {
}); });
} }
} catch (error) { } catch (error) {
console.error(`❌ Fehler beim Erstellen des Interesses '${key}':`, error.message);
throw error; throw error;
} }
} }