From f315db6d00c230e044a16e96c88fffb0016284bb Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Fri, 1 May 2026 10:25:00 +0300 Subject: [PATCH] wrap get todays schedule in try catch --- app/ScheduledNode/ScheduledNodeController.php | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/app/ScheduledNode/ScheduledNodeController.php b/app/ScheduledNode/ScheduledNodeController.php index 282f381..3a71ccb 100644 --- a/app/ScheduledNode/ScheduledNodeController.php +++ b/app/ScheduledNode/ScheduledNodeController.php @@ -2,9 +2,11 @@ namespace App\ScheduledNode; +use App\Exceptions\BadRequestException; use App\ScheduledNode\UseCases\GetTodaysSchedule; use App\ScheduledNode\UseCases\GetTodaysScheduleRequest; use App\User\User; +use DomainException; use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; @@ -26,21 +28,31 @@ class ScheduledNodeController $queryParams = $request->getQueryParams(); $date = $queryParams['date'] ?? null; - if ($date === null || $date === '') { + if ($date === '') { + $date = null; + } + + try { + $scheduledNodes = $getTodaysSchedule->execute( + new GetTodaysScheduleRequest( + date: $date, + userId: $user->getId(), + ) + ); + } catch (BadRequestException $exception) { $response->getBody()->write( - json_encode(['error' => 'date is required']) + json_encode(['error' => $exception->getMessage()]) ); return $response->withStatus(400) ->withHeader('Content-Type', 'application/json'); + } catch (DomainException $exception) { + $response->getBody()->write( + json_encode(['error' => $exception->getMessage()]) + ); + return $response->withStatus(404) + ->withHeader('Content-Type', 'application/json'); } - $scheduledNodes = $getTodaysSchedule->execute( - new GetTodaysScheduleRequest( - date: $date, - userId: $user->getId(), - ) - ); - $data = array_values(array_map( function (ScheduledNode $scheduledNode) { return [