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

View File

@ -360,70 +360,64 @@ export function MissionsAdminPanel() {
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) {
const missingFields = Object.entries(requiredFields)
.filter(([_, value]) => value === false)
.map(([key, _]) => key);
if (missingFields.length > 0) {
toast({
title: "Champs obligatoires manquants",
description: `Veuillez remplir tous les champs obligatoires: ${missingFields.join(", ")}`,
variant: "destructive",
});
return false;
}
return isValid;
return true;
};
// Handle mission submission
const handleSubmitMission = async () => {
if (!validateMission()) {
return;
}
if (!validateMission()) return;
setIsSubmitting(true);
try {
// Prepare the mission data
const guardians = {
"gardien-temps": gardienDuTemps,
"gardien-parole": gardienDeLaParole,
"gardien-memoire": gardienDeLaMemoire
};
const missionSubmitData = {
// Format the data before sending
const formattedData = {
...missionData,
services: selectedServices,
profils: selectedProfils,
guardians,
oddScope: Array.isArray(missionData.oddScope) ? missionData.oddScope : [missionData.oddScope],
services: Array.isArray(missionData.services) ? missionData.services : [missionData.services],
profils: Array.isArray(missionData.profils) ? missionData.profils : [missionData.profils],
guardians: {
'gardien-temps': gardienDuTemps,
'gardien-parole': gardienDeLaParole,
'gardien-memoire': gardienDeLaMemoire
},
volunteers: volontaires
};
// Send to API
console.log('Submitting mission data:', formattedData);
const response = await fetch('/api/missions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(missionSubmitData),
body: JSON.stringify(formattedData),
});
const data = await response.json();
if (!response.ok) {
throw new Error(data.error || 'Failed to create mission');
}
toast({
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');
} catch (error) {
console.error('Error creating mission:', error);
toast({