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:
@@ -146,10 +146,30 @@ const initializeTypes = async () => {
|
||||
escapade: { adult: true, translation: { value: 'Eskapade', 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']} } });
|
||||
|
||||
// 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 lang = languages.find((lang) => lang.value === language);
|
||||
return lang ? lang.id : null;
|
||||
const lang = updatedLanguages.find((lang) => lang.value === language);
|
||||
if (!lang) {
|
||||
throw new Error(`Sprachwert '${language}' nicht gefunden in UserParamValue`);
|
||||
}
|
||||
return lang.id;
|
||||
};
|
||||
|
||||
for (const key of Object.keys(interestsList)) {
|
||||
@@ -162,7 +182,7 @@ const initializeTypes = async () => {
|
||||
|
||||
if (created) {
|
||||
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({
|
||||
interestsId: item.id,
|
||||
language: langId,
|
||||
@@ -170,6 +190,7 @@ const initializeTypes = async () => {
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`❌ Fehler beim Erstellen des Interesses '${key}':`, error.message);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user