api-erstellen #1

Merged
TorstenHettstedt merged 52 commits from api-erstellen into master 2021-04-07 13:00:46 +02:00
Showing only changes of commit 9430f3c74c - Show all commits
@@ -6,6 +6,7 @@ namespace TorstenHettstedt\TimekeepingApi\Controller;
use Exception; use Exception;
use PDO; use PDO;
use Psr\Container\ContainerInterface; use Psr\Container\ContainerInterface;
use Slim\Exception\HttpInternalServerErrorException;
use Slim\Psr7\Request; use Slim\Psr7\Request;
use Slim\Psr7\Response; use Slim\Psr7\Response;
use TorstenHettstedt\TimekeepingApi\Models\WorkingHoursView; use TorstenHettstedt\TimekeepingApi\Models\WorkingHoursView;
@@ -29,7 +30,8 @@ class WorkingHoursViewController
* *
* @throws NotDatabasesException * @throws NotDatabasesException
*/ */
public function __construct(ContainerInterface $container) { public function __construct(ContainerInterface $container)
{
$this->container = $container; $this->container = $container;
if ($container->has('databases') === false) { if ($container->has('databases') === false) {
throw new NotDatabasesException('Datenbank ist nicht Vorhanden'); throw new NotDatabasesException('Datenbank ist nicht Vorhanden');
@@ -44,13 +46,18 @@ class WorkingHoursViewController
* *
* @return Response * @return Response
* *
* @throws HttpInternalServerErrorException
* @noinspection PhpUnusedParameterInspection * @noinspection PhpUnusedParameterInspection
* @throws Exception
*/ */
public function browseWeekly(Request $request, Response $response, array $args): Response public function browseWeekly(Request $request, Response $response, array $args): Response
{ {
$repository = new WorkingHoursWeeklyViewRepository($this->container->get('databases')); $repository = new WorkingHoursWeeklyViewRepository($this->container->get('databases'));
try {
return $this->printResponse($response, $repository->findAll()); return $this->printResponse($response, $repository->findAll());
} catch (Exception $exception) {
throw new HttpInternalServerErrorException($request,
'Der Wert für das Datum oder die Zeit ist falsch in der Datenbank', $exception);
}
} }
/** /**
@@ -60,13 +67,18 @@ class WorkingHoursViewController
* *
* @return Response * @return Response
* *
* @throws HttpInternalServerErrorException
* @noinspection PhpUnusedParameterInspection * @noinspection PhpUnusedParameterInspection
* @throws Exception
*/ */
public function browseMonthly(Request $request, Response $response, array $args): Response public function browseMonthly(Request $request, Response $response, array $args): Response
{ {
$repository = new WorkingHoursMonthlyViewRepository($this->container->get('databases')); $repository = new WorkingHoursMonthlyViewRepository($this->container->get('databases'));
try {
return $this->printResponse($response, $repository->findAll()); return $this->printResponse($response, $repository->findAll());
} catch (Exception $exception) {
throw new HttpInternalServerErrorException($request,
'Der Wert für das Datum oder die Zeit ist falsch in der Datenbank', $exception);
}
} }
/** /**
@@ -76,13 +88,18 @@ class WorkingHoursViewController
* *
* @return Response * @return Response
* *
* @throws HttpInternalServerErrorException
* @noinspection PhpUnusedParameterInspection * @noinspection PhpUnusedParameterInspection
* @throws Exception
*/ */
public function browseYearly(Request $request, Response $response, array $args): Response public function browseYearly(Request $request, Response $response, array $args): Response
{ {
$repository = new WorkingHoursYearlyViewRepository($this->container->get('databases')); $repository = new WorkingHoursYearlyViewRepository($this->container->get('databases'));
try {
return $this->printResponse($response, $repository->findAll()); return $this->printResponse($response, $repository->findAll());
} catch (Exception $exception) {
throw new HttpInternalServerErrorException($request,
'Der Wert für das Datum oder die Zeit ist falsch in der Datenbank', $exception);
}
} }
/** /**
@@ -91,7 +108,7 @@ class WorkingHoursViewController
* *
* @return Response * @return Response
*/ */
protected function printResponse( Response $response, array $data): Response protected function printResponse(Response $response, array $data): Response
{ {
$payload = json_encode($data); $payload = json_encode($data);