src/Controller/Admin/api/V1/CourseController.php line 61

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin\api\V1;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\Routing\Annotation\Route;
  5. use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\Response;
  8. /**
  9.  * Admin API Course Controller.
  10.  * @Route("/admin/api/v1/course/")
  11.  * @IsGranted("ROLE_ADMIN")
  12.  */
  13. class CourseController extends AbstractController {
  14.     /**
  15.      * Search for Courses by Title.
  16.      * @Route("searchCourse", name="api-admin-search-courses", methods={"GET"})
  17.      */
  18.     public function searchCourse(
  19.         Request $request,
  20.         \App\Repository\Admin\CourseRepository $courseRepository
  21.     ): Response {
  22.         $coursesData $courseRepository->findBy(['title' => $request->get('title')->getData()]);
  23.         $data = [];
  24.         foreach ($coursesData as $course) :
  25.             $data[] = [
  26.                 "name" => $course->getTitle(),
  27.                 "code" => $course->getCode(),
  28.                 "id" => $course->getID()
  29.             ];
  30.         endforeach;
  31.         return $this->json($dataResponse::HTTP_OK, []);
  32.     }
  33.     /**
  34.      * Available Courses for Client.
  35.      * @Route("clientCourses", name="api-admin-available-client-courses", methods={"GET"})
  36.      */
  37.     public function clientCourses(
  38.         Request $request,
  39.         \App\Repository\Admin\CourseRepository $courseRepository
  40.     ): Response {
  41.         $coursesData $courseRepository->findBy(['isEnabled' => true]);
  42.         $data = [];
  43.         foreach ($coursesData as $course) :
  44.             $data[] = [
  45.                 "name" => $course->getTitle(),
  46.                 "id" => $course->getID()
  47.             ];
  48.         endforeach;
  49.         return $this->json($dataResponse::HTTP_OK, []);
  50.     }
  51.     /**
  52.      * Available CareerPaths for Client.
  53.      * @Route("clientCareerPaths", name="api-admin-available-client-career-paths", methods={"GET"})
  54.      */
  55.     public function clientCareerPaths(
  56.         Request $request,
  57.         \App\Repository\Admin\CareerPathRepository $careerPathRepository
  58.     ): Response {
  59.         $careerPathData $careerPathRepository->findBy(['isEnabled' => true]);
  60.         $data = [];
  61.         foreach ($careerPathData as $course) :
  62.             $data[] = [
  63.                 "name" => $course->getTitle(),
  64.                 "id" => $course->getID()
  65.             ];
  66.         endforeach;
  67.         return $this->json($dataResponse::HTTP_OK, []);
  68.     }
  69. }