rater/src/Controller/Api/SubjectController.php

39 lines
1.1 KiB
PHP
Raw Normal View History

2026-06-03 23:49:30 +02:00
<?php
namespace App\Controller\Api;
use App\Entity\Restaurant;
use App\Repository\SubjectRepository;
use App\Services\OutputService;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Attribute\Route;
class SubjectController extends AbstractController
{
#[Route('/api/subjects', methods: ['GET'])]
public function index(
SubjectRepository $repo,
OutputService $output,
): JsonResponse {
return $this->json($output->success(['subjects' => $repo->findAll()]));
}
#[Route('/api/subjects', methods: ['POST'])]
public function create(
Request $request,
EntityManagerInterface $em,
): JsonResponse {
$subject = new Restaurant();
$subject->setName($request->getPayload()->get('name'));
$subject->setCreatedBy($this->getUser());
$em->persist($subject);
$em->flush();
return $this->json(null, 201);
}
}