Füge neue Funktionalität zum Abrufen von Worship-Optionen hinzu: Implementiere Endpunkt für eindeutige Gestalter und Küsterdienste. Aktualisiere das Worship Management-Formular zur Verwendung von Multiselect-Komponenten für die Auswahl und Eingabe von Gestaltern und Küstern. Integriere die Fetch-Funktion für Worship-Optionen im Vue-Komponenten-Lifecycle.
This commit is contained in:
@@ -120,3 +120,60 @@ exports.getFilteredWorships = async (req, res) => {
|
||||
res.status(500).json({ message: 'Fehler beim Abrufen der gefilterten Gottesdienste' });
|
||||
}
|
||||
};
|
||||
|
||||
exports.getWorshipOptions = async (req, res) => {
|
||||
try {
|
||||
// Alle eindeutigen Organizer-Werte abrufen
|
||||
const organizers = await Worship.findAll({
|
||||
attributes: [[sequelize.fn('DISTINCT', sequelize.col('organizer')), 'organizer']],
|
||||
where: {
|
||||
organizer: {
|
||||
[Op.not]: null,
|
||||
[Op.ne]: ''
|
||||
}
|
||||
},
|
||||
raw: true
|
||||
});
|
||||
|
||||
// Alle eindeutigen Sacristan-Service-Werte abrufen
|
||||
const sacristanServices = await Worship.findAll({
|
||||
attributes: [[sequelize.fn('DISTINCT', sequelize.col('sacristanService')), 'sacristanService']],
|
||||
where: {
|
||||
sacristanService: {
|
||||
[Op.not]: null,
|
||||
[Op.ne]: ''
|
||||
}
|
||||
},
|
||||
raw: true
|
||||
});
|
||||
|
||||
// Strings aufteilen (kommasepariert) und alle eindeutigen Werte sammeln
|
||||
const organizerSet = new Set();
|
||||
organizers.forEach(item => {
|
||||
if (item.organizer) {
|
||||
item.organizer.split(',').forEach(org => {
|
||||
const trimmed = org.trim();
|
||||
if (trimmed) organizerSet.add(trimmed);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
const sacristanSet = new Set();
|
||||
sacristanServices.forEach(item => {
|
||||
if (item.sacristanService) {
|
||||
item.sacristanService.split(',').forEach(sac => {
|
||||
const trimmed = sac.trim();
|
||||
if (trimmed) sacristanSet.add(trimmed);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
res.status(200).json({
|
||||
organizers: Array.from(organizerSet).sort(),
|
||||
sacristanServices: Array.from(sacristanSet).sort()
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
res.status(500).json({ message: 'Fehler beim Abrufen der Worship-Optionen' });
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user