Implemented draft for CRUD management

This commit is contained in:
Kevin Frantz
2019-01-06 20:03:28 +01:00
parent eb55d4ef0b
commit edf0a34e59
16 changed files with 232 additions and 93 deletions

View File

@@ -5,21 +5,22 @@ namespace App\Controller\API;
use App\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use App\Domain\SecureCRUDManagement\SecureCRUDFactoryService;
/**
* @author kevinfrantz
* @todo Implement!
* @see https://de.wikipedia.org/wiki/CRUD
*/
abstract class AbstractAPIController extends AbstractController implements APIControllerInterface
abstract class AbstractAPIController extends AbstractController
{
/**
* @param Request $request HTTP Method POST with the object attributes as parameters
*
* @return Response
*/
abstract public function create(Request $request): Response;
abstract public function create(Request $request, SecureCRUDFactoryService $crudFactory): Response;
/**
* @param Request $request HTTP Method GET
* @param int|string $identifier The slug or id of the object
@@ -27,7 +28,7 @@ abstract class AbstractAPIController extends AbstractController implements APICo
* @return Response
*/
abstract public function read(Request $request, $identifier): Response;
/**
* @param Request $request HTTP Method PUT
* @param int|string $identifier The slug or id of the object
@@ -35,7 +36,7 @@ abstract class AbstractAPIController extends AbstractController implements APICo
* @return Response
*/
abstract public function update(Request $request, $identifier): Response;
/**
* @param Request $request HTTP Method DELETE with the object attributes as parameters
* @param int|string $identifier The slug or id of the object
@@ -43,4 +44,11 @@ abstract class AbstractAPIController extends AbstractController implements APICo
* @return Response
*/
abstract public function delete(Request $request, $identifier): Response;
/**
* @param Request $request HTTP Method GET with filtering parameters
*
* @return Response
*/
abstract public function list(Request $request): Response;
}