diff --git a/catalyst/api-bundle/Controller/APIController.php b/catalyst/api-bundle/Controller/APIController.php index fc38e32b..7f359680 100644 --- a/catalyst/api-bundle/Controller/APIController.php +++ b/catalyst/api-bundle/Controller/APIController.php @@ -2,6 +2,40 @@ namespace Catalyst\APIBundle\Controller; -interface APIController +use Symfony\Bundle\FrameworkBundle\Controller\Controller; +use Symfony\Component\HttpFoundation\Request; + +abstract class APIController extends Controller { + protected function checkRequiredParameters(Request $req, $params = []) + { + $missing = []; + + // check if parameters are there + foreach ($params as $param) + { + if ($req->getMethod() == 'GET') + { + $check = $req->query->get($param); + if (empty($check)) + $missing[] = $param; + } + // else if ($req->getMethod() == 'POST') + else + { + $check = $req->request->get($param); + if (empty($check)) + $missing[] = $param; + } + } + + // check missing parameters + if (count($missing) > 0) + { + $miss_string = implode(', ', $missing); + return 'Missing required parameter(s): ' . $miss_string; + } + + return false; + } } diff --git a/src/Controller/CAPI/BatteryController.php b/src/Controller/CAPI/BatteryController.php index f99d0ad5..e42a220b 100644 --- a/src/Controller/CAPI/BatteryController.php +++ b/src/Controller/CAPI/BatteryController.php @@ -11,7 +11,7 @@ use Catalyst\APIBundle\Response\APIResponse; use App\Entity\BatteryModel; use App\Entity\BatterySize; -class BatteryController extends Controller implements APIController +class BatteryController extends APIController { public function getModels(EntityManagerInterface $em) { diff --git a/src/Controller/CAPI/TestController.php b/src/Controller/CAPI/TestController.php index 0143166a..e1a5ea08 100644 --- a/src/Controller/CAPI/TestController.php +++ b/src/Controller/CAPI/TestController.php @@ -8,7 +8,7 @@ use Doctrine\ORM\Query; use Catalyst\APIBundle\Controller\APIController; use Catalyst\APIBundle\Response\APIResponse; -class TestController extends Controller implements APIController +class TestController extends APIController { public function test() { diff --git a/src/Controller/CAPI/VehicleController.php b/src/Controller/CAPI/VehicleController.php index 67527bb3..0d9ab174 100644 --- a/src/Controller/CAPI/VehicleController.php +++ b/src/Controller/CAPI/VehicleController.php @@ -11,7 +11,7 @@ use Catalyst\APIBundle\Response\APIResponse; use App\Entity\Vehicle; use App\Entity\VehicleManufacturer; -class VehicleController extends Controller implements APIController +class VehicleController extends APIController { public function getManufacturers(EntityManagerInterface $em) { diff --git a/src/Controller/CAPI/WarrantyController.php b/src/Controller/CAPI/WarrantyController.php index 0a6e8ff8..c77b29e4 100644 --- a/src/Controller/CAPI/WarrantyController.php +++ b/src/Controller/CAPI/WarrantyController.php @@ -17,40 +17,8 @@ use App\Ramcar\WarrantyClass; use App\Ramcar\WarrantyStatus; use DateTime; -class WarrantyController extends Controller implements APIController +class WarrantyController extends APIController { - protected function checkRequiredParameters(Request $req, $params = []) - { - $missing = []; - - // check if parameters are there - foreach ($params as $param) - { - if ($req->getMethod() == 'GET') - { - $check = $req->query->get($param); - if (empty($check)) - $missing[] = $param; - } - // else if ($req->getMethod() == 'POST') - else - { - $check = $req->request->get($param); - if (empty($check)) - $missing[] = $param; - } - } - - // check missing parameters - if (count($missing) > 0) - { - $miss_string = implode(', ', $missing); - return 'Missing required parameter(s): ' . $miss_string; - } - - return false; - } - protected function cleanSerial($serial) { return trim(strtoupper($serial));