From abf689c8e38faa325917596a310c98243adc6968 Mon Sep 17 00:00:00 2001 From: Janis Date: Tue, 28 Oct 2025 18:32:57 +0100 Subject: [PATCH] feat(user-sessions): implement user login, logout, and session management --- knockoutwhistweb/app/logic/user/SessionManager.scala | 3 +++ knockoutwhistweb/app/logic/user/UserManager.scala | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/knockoutwhistweb/app/logic/user/SessionManager.scala b/knockoutwhistweb/app/logic/user/SessionManager.scala index c573b23..aad7472 100644 --- a/knockoutwhistweb/app/logic/user/SessionManager.scala +++ b/knockoutwhistweb/app/logic/user/SessionManager.scala @@ -1,7 +1,10 @@ package logic.user +import com.google.inject.ImplementedBy +import logic.user.impl.BaseSessionManager import model.users.User +@ImplementedBy(classOf[BaseSessionManager]) trait SessionManager { def createSession(user: User): String diff --git a/knockoutwhistweb/app/logic/user/UserManager.scala b/knockoutwhistweb/app/logic/user/UserManager.scala index 69e4481..b6a4f47 100644 --- a/knockoutwhistweb/app/logic/user/UserManager.scala +++ b/knockoutwhistweb/app/logic/user/UserManager.scala @@ -1,10 +1,15 @@ package logic.user +import com.google.inject.ImplementedBy +import logic.user.impl.StubUserManager +import model.users.User + +@ImplementedBy(classOf[StubUserManager]) trait UserManager { def addUser(name: String, password: String): Boolean - def authenticate(name: String, password: String): Boolean - def userExists(name: String): Boolean + def authenticate(name: String, password: String): Option[User] + def userExists(name: String): Option[User] def removeUser(name: String): Boolean }