api-erstellen #1
1 Participants
Notifications
Due Date
No due date set.
Blocks
#2 HTML-Oberfläche
TorstenHettstedt/PHP-App-Timekeeping
Reference: TorstenHettstedt/PHP-App-Timekeeping#1
Reference in New Issue
Block a user
Die Rest-API für die Arbeitszeiten-Anzeige ist erstellt.
Noch was gefunden.
@@ -0,0 +1,5 @@## Datenbank-EinstellungenDiese Datei hat nichts im Repo verloren
@@ -0,0 +1,9 @@FROM php:8.0-apache#RUN apt update && apt install -y postgresql postgresql-clientKann weg.
@@ -0,0 +6,4 @@class HttpConflictRequestException extends HttpSpecializedException{/**Kann auf eine Zeile
@@ -0,0 +11,4 @@*/protected $code = 409;/**Kann auf eine Zeile.
@@ -0,0 +16,4 @@*/protected $message = 'Conflict.';protected $title = '409 Conflict';Typen erweitern.
@@ -0,0 +23,4 @@{protected PDO $databases;protected ContainerInterface $container;Der Container wird nur bei der Initialisierung benötigt.
@@ -0,0 +77,4 @@public function browse(Request $request, Response $response, array $args): Response{$repository = new WorkingHoursRepository($this->databases);return $this->printResponse($response, $repository->findAll(), StatusCodeInterface::STATUS_OK);Der Fehler kann abgefangen werden, ähnlich
read()@@ -0,0 +36,4 @@*/public function browseWeekly(Request $request, Response $response, array $args): Response{if ($this->container->has('databases') === false) {Das kann ähnlich dem
WorkingHoursControllerin den Konstruktor.@@ -0,0 +87,4 @@** @return Response*/protected function printResponse( Response $response, array $data): ResponseDa in beiden Controllern die fast gleiche Methode aufgerufen wird, kann diese Methode auch in eine Abstrakte Klasse verschoben werden.
@@ -0,0 +4,4 @@namespace TorstenHettstedt\TimekeepingApi\Repositories;class RepositoryModelAlreadyExists extends RepositoryExceptionEin besserer Name wäre
RepositoryRecordAlreadyExistException@@ -0,0 +42,4 @@]),]);}Zur Vereinfachung der Klasse soolte es den folgenden Test geben:
@@ -0,0 +46,4 @@/*** @throws Exception*/public function testBrowseMonthlyWithNonDatabase(): voidEine fehlende Datenbank sollte schon in der Erstellung des Objektes einen Fehler auslösen.
@@ -0,0 +69,4 @@/*** @throws Exception*/public function testBrowseYearlyWithNonDatabase(): voidEine fehlende Datenbank sollte schon in der Erstellung des Objektes einen Fehler auslösen.
@@ -0,0 +92,4 @@/*** @throws Exception*/public function testBrowseWeeklyWithNonDatabase(): voidEine fehlende Datenbank sollte schon in der Erstellung des Objektes einen Fehler auslösen.
@@ -0,0 +73,4 @@'getTitle' => Expected::once('The Title'),]);$this->logger = $this->makeEmpty(LoggerInterface::class, ['error' => Expected::once(),Das ist hier nicht nötig.
@@ -0,0 +92,4 @@'file' => '/path(to/file',]);$this->logger = $this->makeEmpty(LoggerInterface::class, ['error' => Expected::once(),Das ist hier nicht nötig.
@@ -0,0 +24,4 @@const RECORDS_COUNT = 61;protected PDO $pdoObject;protected PDOStatement $pdoStatement;Kann raus.
read()3e2865dbe7@@ -0,0 +51,4 @@* @return Response** @noinspection PhpUnusedParameterInspection* @throws ExceptionDas Verhalten ist in
WorkingHoursControllerbesser gelöst.@@ -0,0 +32,4 @@** @noinspection PhpUnusedParameterInspection* @throws NotDatabasesException* @throws ExceptionDas Verhalten ist in
WorkingHoursControllerbesser gelöst.@@ -0,0 +70,4 @@* @return Response** @noinspection PhpUnusedParameterInspection* @throws ExceptionDas Verhalten ist in
WorkingHoursControllerbesser gelöst.