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' } },
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user