37
knockoutwhistweb/app/logic/PodGameManager.scala
Normal file
37
knockoutwhistweb/app/logic/PodGameManager.scala
Normal file
@@ -0,0 +1,37 @@
|
||||
package logic
|
||||
|
||||
import de.knockoutwhist.utils.events.SimpleEvent
|
||||
import model.sessions.PlayerSession
|
||||
|
||||
import java.util.UUID
|
||||
import scala.collection.mutable
|
||||
|
||||
object PodGameManager {
|
||||
|
||||
private val sessions: mutable.Map[UUID, PlayerSession] = mutable.Map()
|
||||
|
||||
def addSession(session: PlayerSession): Unit = {
|
||||
sessions.put(session.id, session)
|
||||
}
|
||||
|
||||
def clearSessions(): Unit = {
|
||||
sessions.clear()
|
||||
}
|
||||
|
||||
def identify(id: UUID): Option[PlayerSession] = {
|
||||
sessions.get(id)
|
||||
}
|
||||
|
||||
def transmit(id: UUID, event: SimpleEvent): Unit = {
|
||||
identify(id).foreach(_.updatePlayer(event))
|
||||
}
|
||||
|
||||
def transmitAll(event: SimpleEvent): Unit = {
|
||||
sessions.foreach(session => session._2.updatePlayer(event))
|
||||
}
|
||||
|
||||
def listSessions(): List[PlayerSession] = {
|
||||
sessions.values.toList
|
||||
}
|
||||
|
||||
}
|
||||
11
knockoutwhistweb/app/logic/user/SessionManager.scala
Normal file
11
knockoutwhistweb/app/logic/user/SessionManager.scala
Normal file
@@ -0,0 +1,11 @@
|
||||
package logic.user
|
||||
|
||||
import model.users.User
|
||||
|
||||
trait SessionManager {
|
||||
|
||||
def createSession(user: User): String
|
||||
def getUserBySession(sessionId: String): Option[User]
|
||||
def invalidateSession(sessionId: String): Unit
|
||||
|
||||
}
|
||||
10
knockoutwhistweb/app/logic/user/UserManager.scala
Normal file
10
knockoutwhistweb/app/logic/user/UserManager.scala
Normal file
@@ -0,0 +1,10 @@
|
||||
package logic.user
|
||||
|
||||
trait UserManager {
|
||||
|
||||
def addUser(name: String, password: String): Boolean
|
||||
def authenticate(name: String, password: String): Boolean
|
||||
def userExists(name: String): Boolean
|
||||
def removeUser(name: String): Boolean
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user