From d4902608071366ffb23ad0a061b00bec19b9c7b7 Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Sat, 16 May 2026 21:30:51 +0300 Subject: [PATCH] implement create session use case Green phase: CreateSession generates a token, creates a session with 7-day expiry, and persists it via SessionRepository. --- .../UseCases/CreateSession/CreateSession.php | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 backend/app/Auth/UseCases/CreateSession/CreateSession.php diff --git a/backend/app/Auth/UseCases/CreateSession/CreateSession.php b/backend/app/Auth/UseCases/CreateSession/CreateSession.php new file mode 100644 index 0000000..db6403f --- /dev/null +++ b/backend/app/Auth/UseCases/CreateSession/CreateSession.php @@ -0,0 +1,34 @@ +clock->now(); + $expiresAt = $now->modify(self::SESSION_LIFETIME); + + return $this->sessionRepo->create(new CreateSessionDto( + token: $this->tokenGenerator->generate(), + user: $user, + createdAt: $now, + expiresAt: $expiresAt, + )); + } +}