From c0871bf214ffbd2465bf925512bf854402f56554 Mon Sep 17 00:00:00 2001 From: Miguel Nogueira Date: Sun, 13 Apr 2025 23:25:04 +0100 Subject: [PATCH] fix: add missing task logic to task repo --- src/Repositories/TaskRepository.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Repositories/TaskRepository.php b/src/Repositories/TaskRepository.php index 024e9b6..bd84bcb 100644 --- a/src/Repositories/TaskRepository.php +++ b/src/Repositories/TaskRepository.php @@ -4,6 +4,7 @@ namespace Repositories; use Carbon\Carbon; use Database\Connection; +use Exceptions\TaskNotFoundException; use Interfaces\TaskDao; use Models\Task; use PDO; @@ -48,12 +49,20 @@ class TaskRepository implements TaskDao return $stmt->fetchAll(PDO::FETCH_ASSOC); } + /** + * @throws TaskNotFoundException + */ public function readById($id): Task { $stmt = $this->conn->prepare('SELECT * FROM Tasks WHERE id = ?'); $stmt->execute([$id]); - return Task::fromArray($stmt->fetch(PDO::FETCH_ASSOC)); + if (!$data = $stmt->fetch(PDO::FETCH_ASSOC)) + { + throw new TaskNotFoundException('Task not found.'); + } + + return Task::fromArray($data); } public function update(Task $task): bool