From bf20e75c0daf2177ddac03fba3265bf862c54a15 Mon Sep 17 00:00:00 2001 From: Fatih20 <fnri39@protonmail.com> Date: Wed, 15 Nov 2023 18:53:08 +0700 Subject: [PATCH] Expose getting of gym to the node server. --- php/Dockerfile | 2 ++ src/controller/GymController.php | 12 ++++++++---- src/services/GymService.php | 11 +++++------ 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/php/Dockerfile b/php/Dockerfile index e3fdbab..3dbd493 100644 --- a/php/Dockerfile +++ b/php/Dockerfile @@ -7,5 +7,7 @@ RUN if command -v a2enmod >/dev/null 2>&1; then \ a2enmod rewrite headers \ ;fi +EXPOSE 3200 + # Install the PDO MySQL extension so we can database RUN docker-php-ext-install pdo_mysql \ No newline at end of file diff --git a/src/controller/GymController.php b/src/controller/GymController.php index b842392..7200533 100644 --- a/src/controller/GymController.php +++ b/src/controller/GymController.php @@ -17,11 +17,15 @@ class GymController extends BaseController switch ($requestMethod) { case 'GET': + if (isset($arrQueryStringParams['id'])) { + $gym = GymService::getInstance()->getById($arrQueryStringParams["id"]); + array_push($responseData, $gym); + break; + } $gyms = GymService::getInstance()->getAll(); foreach ($gyms as $gym) { array_push($responseData, $gym->toResponse()); } - break; case 'POST': $name = trim($_POST["name"]); @@ -46,7 +50,7 @@ class GymController extends BaseController $description = trim($_POST["description"]); $len_description = strlen($description); - + if (strlen($description) > 255) { throw new Exception("Description is limited to 255 characters long."); } @@ -186,7 +190,7 @@ class GymController extends BaseController if ($monthlyPrice > 100000000) { throw new Exception("Monthly price must be less than 100000000."); } - + try { GymService::getInstance()->edit( $oldGym->gym_id, @@ -218,7 +222,7 @@ class GymController extends BaseController } } } else { - $gymId = $arrQueryStringParams['gym_id']; + $gymId = $arrQueryStringParams['gym_id']; if (!isset($gymId)) { throw new Exception("Gym_id is not provided!"); } diff --git a/src/services/GymService.php b/src/services/GymService.php index f437ecc..8548c13 100644 --- a/src/services/GymService.php +++ b/src/services/GymService.php @@ -273,9 +273,9 @@ class GymService extends BaseService public function updateRating($gymId) { - try{ + try { $pdo = new PDO("mysql:host=db;port=3306;dbname=gym_tracker", $_ENV['DB_USER'], $_ENV['DB_PASSWORD']); - + // check if the rating is not empty $query = "SELECT * FROM ratings WHERE gym_id = :gym_id"; $statement = $pdo->prepare($query); @@ -290,15 +290,14 @@ class GymService extends BaseService return; } else { $query = "UPDATE gym SET average_rating = (SELECT AVG(rating) FROM ratings WHERE gym_id = :gym_id) WHERE gym_id = :gym_id"; - + $statement = $pdo->prepare($query); - + $statement->execute([ 'gym_id' => $gymId ]); } - } - catch (Exception $e) { + } catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; } } -- GitLab