From ac461afcf010dfe9beb5b3a8de55a243418c83e7 Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Fri, 24 Apr 2026 13:16:41 +0300 Subject: [PATCH] implement find by email in json user repo --- app/User/JsonUserRepository.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/User/JsonUserRepository.php b/app/User/JsonUserRepository.php index 61e7467..61f74b0 100644 --- a/app/User/JsonUserRepository.php +++ b/app/User/JsonUserRepository.php @@ -50,6 +50,23 @@ class JsonUserRepository implements UserRepository return null; } + public function findByEmail(EmailAddress $email): ?User + { + $users = $this->readUsers(); + + foreach ($users as $data) { + if ($data['email'] === (string) $email) { + return new User( + id: $data['id'], + email: new EmailAddress($data['email']), + isAdmin: $data['isAdmin'] ?? false, + ); + } + } + + return null; + } + private function readUsers(): array { if (!file_exists($this->filePath)) {