Change APIController to abstract class from interface #166

This commit is contained in:
Kendrick Chan 2018-11-06 01:30:52 +08:00
parent d78e30c9c2
commit 6771b86d6c
5 changed files with 39 additions and 37 deletions

View file

@ -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;
}
}

View file

@ -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)
{

View file

@ -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()
{

View file

@ -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)
{

View file

@ -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));