From 82ca68fef0306d65b670a6475e79953d58d075a5 Mon Sep 17 00:00:00 2001 From: rem Date: Fri, 7 Jun 2024 15:02:16 +0200 Subject: [PATCH] moving nested folders + postcontroller --- src/Controller/PostController.php | 64 ++++++++++++++++--- src/Entity/{Entity => }/Commentary.php | 0 src/Entity/Entity/.gitignore | 0 src/Entity/{Entity => }/Post.php | 0 src/Entity/{Entity => }/Profil.php | 0 src/Entity/{Entity => }/Tags.php | 0 .../{Repository => }/CommentaryRepository.php | 0 .../{Repository => }/PostRepository.php | 0 .../{Repository => }/ProfilRepository.php | 0 src/Repository/Repository/.gitignore | 0 .../{Repository => }/TagsRepository.php | 0 11 files changed, 55 insertions(+), 9 deletions(-) rename src/Entity/{Entity => }/Commentary.php (100%) delete mode 100644 src/Entity/Entity/.gitignore rename src/Entity/{Entity => }/Post.php (100%) rename src/Entity/{Entity => }/Profil.php (100%) rename src/Entity/{Entity => }/Tags.php (100%) rename src/Repository/{Repository => }/CommentaryRepository.php (100%) rename src/Repository/{Repository => }/PostRepository.php (100%) rename src/Repository/{Repository => }/ProfilRepository.php (100%) delete mode 100644 src/Repository/Repository/.gitignore rename src/Repository/{Repository => }/TagsRepository.php (100%) diff --git a/src/Controller/PostController.php b/src/Controller/PostController.php index 9ca4c76..898fcec 100644 --- a/src/Controller/PostController.php +++ b/src/Controller/PostController.php @@ -1,17 +1,63 @@ +em = $em; + $this->serializer = $serializer; + } + + #[Route('/post/{id}', name: 'display post', methods: ['GET'])] + public function getPost(int $id): Response + { + $post = $this->em->getRepository(Post::class)->find($id); + + if(!$post) { + # Error 404 page + } + + # Return twig + return new Response(); + } + + #[Route('/post/', name: 'add_post', methods: ['POST'])] + public function addPost(Request $request) :Response + { + $data = json_decode($request->getContent(), true); + + try { + $post = $this->serializer->deserialize($data, Post::class, 'json'); + } catch (\Exception) { + return new Response("Invalid JSON data", Response::HTTP_BAD_REQUEST); + } + + # Handle error on data + $this->em->persist($post); + $this->em->flush(); + + return new Response(); + } -class PostController -{ - #[Route('/lucky/number/{max}', name: 'app_lucky_number')] - public function number(int $max): Response + #[Route('/post/{id}', name: 'remove_post', methods: ['DELETE'])] + public function removePost(int $id) :Response { - $number = random_int(0, $max); + $postRef = $this->em->getReference('Post', $id); + $this->em->remove($postRef); + $this->em->flush(); - return new Response( - 'Lucky number: '.$number.'' - ); - } + return new Response(); + } } diff --git a/src/Entity/Entity/Commentary.php b/src/Entity/Commentary.php similarity index 100% rename from src/Entity/Entity/Commentary.php rename to src/Entity/Commentary.php diff --git a/src/Entity/Entity/.gitignore b/src/Entity/Entity/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/src/Entity/Entity/Post.php b/src/Entity/Post.php similarity index 100% rename from src/Entity/Entity/Post.php rename to src/Entity/Post.php diff --git a/src/Entity/Entity/Profil.php b/src/Entity/Profil.php similarity index 100% rename from src/Entity/Entity/Profil.php rename to src/Entity/Profil.php diff --git a/src/Entity/Entity/Tags.php b/src/Entity/Tags.php similarity index 100% rename from src/Entity/Entity/Tags.php rename to src/Entity/Tags.php diff --git a/src/Repository/Repository/CommentaryRepository.php b/src/Repository/CommentaryRepository.php similarity index 100% rename from src/Repository/Repository/CommentaryRepository.php rename to src/Repository/CommentaryRepository.php diff --git a/src/Repository/Repository/PostRepository.php b/src/Repository/PostRepository.php similarity index 100% rename from src/Repository/Repository/PostRepository.php rename to src/Repository/PostRepository.php diff --git a/src/Repository/Repository/ProfilRepository.php b/src/Repository/ProfilRepository.php similarity index 100% rename from src/Repository/Repository/ProfilRepository.php rename to src/Repository/ProfilRepository.php diff --git a/src/Repository/Repository/.gitignore b/src/Repository/Repository/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/src/Repository/Repository/TagsRepository.php b/src/Repository/TagsRepository.php similarity index 100% rename from src/Repository/Repository/TagsRepository.php rename to src/Repository/TagsRepository.php