Die Gemeinsamkeiten der Controller wurde in eine abstrakte Klasse gepackt.

This commit is contained in:
2021-04-07 12:59:51 +02:00
parent 9430f3c74c
commit 0a59cb60db
3 changed files with 56 additions and 89 deletions
+1 -39
View File
@@ -2,13 +2,10 @@
namespace TorstenHettstedt\TimekeepingApi\Controller;
use DateInterval;
use DateTime;
use Exception;
use Fig\Http\Message\StatusCodeInterface;
use PDO;
use Psr\Container\ContainerInterface;
use Slim\Exception\HttpBadRequestException;
use Slim\Exception\HttpInternalServerErrorException;
use Slim\Exception\HttpNotFoundException;
@@ -19,26 +16,9 @@ use TorstenHettstedt\TimekeepingApi\Repositories\RepositoryRecordAlreadyExistExc
use TorstenHettstedt\TimekeepingApi\Repositories\RepositoryRecordNotFoundException;
use TorstenHettstedt\TimekeepingApi\Repositories\WorkingHoursRepository;
class WorkingHoursController
class WorkingHoursController extends AbstractController
{
protected PDO $databases;
/**
* WorkingHoursController constructor.
*
* @param ContainerInterface $container
*
* @throws NotDatabasesException
*/
public function __construct(ContainerInterface $container)
{
if ($container->has('databases') === false) {
throw new NotDatabasesException('Datenbank ist nicht Vorhanden');
}
$this->databases = $container->get('databases');
}
/**
* @param Request $request
* @param Response $response
@@ -131,24 +111,6 @@ class WorkingHoursController
return $this->printResponse($response, $model, StatusCodeInterface::STATUS_CREATED);
}
/**
* @param Response $response
* @param mixed $data
* @param int $status_code
*
* @return Response
*/
protected function printResponse(Response $response, mixed $data, int $status_code): Response
{
$payload = json_encode($data);
$response->getBody()->write($payload);
return $response
->withHeader('Content-Type', 'application/json')
->withStatus($status_code);
}
/**
* @param Request $request
* @param string $date