n8n int cleaning

This commit is contained in:
alma 2025-05-12 13:48:55 +02:00
parent 3d0ad07582
commit 12f673678d
2 changed files with 29 additions and 33 deletions

View File

@ -190,6 +190,7 @@ export async function POST(request: Request) {
}); });
if (existingMission) { if (existingMission) {
console.error('Mission with same name already exists:', name);
return NextResponse.json({ error: 'A mission with this name already exists' }, { status: 400 }); return NextResponse.json({ error: 'A mission with this name already exists' }, { status: 400 });
} }
@ -205,6 +206,7 @@ export async function POST(request: Request) {
projection, projection,
services, services,
profils, profils,
participation,
creatorId: session.user.id creatorId: session.user.id
} }
}); });

View File

@ -360,70 +360,64 @@ export function MissionsAdminPanel() {
gardiens: gardienDuTemps !== null && gardienDeLaParole !== null && gardienDeLaMemoire !== null gardiens: gardienDuTemps !== null && gardienDeLaParole !== null && gardienDeLaMemoire !== null
}; };
const isValid = Object.values(requiredFields).every(field => field === true); const missingFields = Object.entries(requiredFields)
.filter(([_, value]) => value === false)
.map(([key]) => key);
if (!isValid) { if (missingFields.length > 0) {
const missingFields = Object.entries(requiredFields)
.filter(([_, value]) => value === false)
.map(([key, _]) => key);
toast({ toast({
title: "Champs obligatoires manquants", title: "Champs obligatoires manquants",
description: `Veuillez remplir tous les champs obligatoires: ${missingFields.join(", ")}`, description: `Veuillez remplir tous les champs obligatoires: ${missingFields.join(", ")}`,
variant: "destructive", variant: "destructive",
}); });
return false;
} }
return isValid; return true;
}; };
// Handle mission submission // Handle mission submission
const handleSubmitMission = async () => { const handleSubmitMission = async () => {
if (!validateMission()) { if (!validateMission()) return;
return;
}
setIsSubmitting(true); setIsSubmitting(true);
try { try {
// Prepare the mission data // Format the data before sending
const guardians = { const formattedData = {
"gardien-temps": gardienDuTemps,
"gardien-parole": gardienDeLaParole,
"gardien-memoire": gardienDeLaMemoire
};
const missionSubmitData = {
...missionData, ...missionData,
services: selectedServices, oddScope: Array.isArray(missionData.oddScope) ? missionData.oddScope : [missionData.oddScope],
profils: selectedProfils, services: Array.isArray(missionData.services) ? missionData.services : [missionData.services],
guardians, profils: Array.isArray(missionData.profils) ? missionData.profils : [missionData.profils],
guardians: {
'gardien-temps': gardienDuTemps,
'gardien-parole': gardienDeLaParole,
'gardien-memoire': gardienDeLaMemoire
},
volunteers: volontaires volunteers: volontaires
}; };
// Send to API console.log('Submitting mission data:', formattedData);
const response = await fetch('/api/missions', { const response = await fetch('/api/missions', {
method: 'POST', method: 'POST',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
}, },
body: JSON.stringify(missionSubmitData), body: JSON.stringify(formattedData),
}); });
const data = await response.json(); const data = await response.json();
if (!response.ok) { if (!response.ok) {
throw new Error(data.error || 'Failed to create mission'); throw new Error(data.error || 'Failed to create mission');
} }
toast({ toast({
title: "Mission créée avec succès", title: "Mission créée avec succès",
description: "La mission a été créée et les intégrations sont en cours de configuration.", description: "La mission a été créée et les intégrations sont en cours.",
}); });
// Redirect to missions list
router.push('/missions'); router.push('/missions');
} catch (error) { } catch (error) {
console.error('Error creating mission:', error); console.error('Error creating mission:', error);
toast({ toast({