plein de truc

This commit is contained in:
marvin
2024-11-22 14:10:39 +01:00
parent 22006281cd
commit db38ec2979
11 changed files with 710 additions and 185 deletions

View File

@@ -30,17 +30,22 @@ class LieuController extends AbstractController
): JsonResponse {
$data = json_decode($request->getContent(), true);
if (!isset($data['nom'], $data['rue'], $data['latitude'], $data['longitude'], $data['villeId'])) {
return new JsonResponse(['error' => 'Données manquantes'], Response::HTTP_BAD_REQUEST);
if (!isset($data['nom'], $data['latitude'], $data['longitude'], $data['villeId'])) {
return new JsonResponse(['error' => 'Données manquantes.'], Response::HTTP_BAD_REQUEST);
}
$ville = $villeRepository->find($data['villeId']);
if (!$ville) {
return new JsonResponse(['error' => 'Ville non trouvée'], Response::HTTP_NOT_FOUND);
return new JsonResponse(['error' => 'Ville non trouvée.'], Response::HTTP_NOT_FOUND);
}
$existingLieuByName = $entityManager->getRepository(Lieu::class)->findOneBy([
'nom' => $data['nom'],
'ville' => $ville,
]);
if ($existingLieuByName) {
return new JsonResponse(['error' => "Un lieu avec le nom '{$data['nom']}' existe déjà."], Response::HTTP_CONFLICT);
}
$lieu = new Lieu();
$lieu->setNom($data['nom']);
@@ -49,20 +54,16 @@ class LieuController extends AbstractController
$lieu->setLongitude($data['longitude']);
$lieu->setVille($ville);
$entityManager->persist($lieu);
$entityManager->flush();
return new JsonResponse([
'id' => $lieu->getIdLieu(),
'nom' => $lieu->getNom(),
'rue' => $lieu->getRue(),
'latitude' => $lieu->getLatitude(),
'longitude' => $lieu->getLongitude(),
], Response::HTTP_CREATED);
}
#[Route('/get-bounds/{villeId}', name: 'get_bounds', methods: ['GET'])]
public function getBounds(VilleRepository $villeRepository, string $villeId): JsonResponse
{