Skip to content

Commit 34d45cc

Browse files
committed
add session apis
1 parent f8401b4 commit 34d45cc

File tree

4 files changed

+63
-0
lines changed

4 files changed

+63
-0
lines changed

project/Versions.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,6 @@ object Versions {
5151
val akkaPersistenceCassandra = "1.0.6"
5252

5353
val testContainers = "1.18.0"
54+
55+
val dukedb = "0.10.0"
5456
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package app.softnetwork.session.api
2+
3+
import akka.actor.typed.ActorSystem
4+
import app.softnetwork.session.handlers.JwtClaimsRefreshTokenDao
5+
import app.softnetwork.session.launch.SessionGuardian
6+
import app.softnetwork.session.model.{SessionDataCompanion, SessionManagers}
7+
import com.softwaremill.session.{RefreshTokenStorage, SessionManager}
8+
import org.softnetwork.session.model.JwtClaims
9+
10+
trait JwtClaimsApi extends SessionDataApi[JwtClaims] { _: SessionGuardian =>
11+
12+
override implicit def companion: SessionDataCompanion[JwtClaims] = JwtClaims
13+
14+
override protected def manager: SessionManager[JwtClaims] = SessionManagers.jwt
15+
16+
override protected def refreshTokenStorage: ActorSystem[_] => RefreshTokenStorage[JwtClaims] =
17+
sys => JwtClaimsRefreshTokenDao(sys)
18+
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package app.softnetwork.session.api
2+
3+
import akka.actor.typed.ActorSystem
4+
import app.softnetwork.session.handlers.SessionRefreshTokenDao
5+
import app.softnetwork.session.launch.SessionGuardian
6+
import app.softnetwork.session.model.{SessionDataCompanion, SessionManagers}
7+
import com.softwaremill.session.{RefreshTokenStorage, SessionManager}
8+
import org.softnetwork.session.model.Session
9+
10+
trait SessionApi extends SessionDataApi[Session] { _: SessionGuardian =>
11+
12+
override implicit def companion: SessionDataCompanion[Session] = Session
13+
14+
override protected def manager: SessionManager[Session] = SessionManagers.basic
15+
16+
override protected def refreshTokenStorage: ActorSystem[_] => RefreshTokenStorage[Session] =
17+
sys => SessionRefreshTokenDao(sys)
18+
19+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package app.softnetwork.session.api
2+
3+
import akka.actor.typed.ActorSystem
4+
import app.softnetwork.session.config.Settings
5+
import app.softnetwork.session.launch.SessionGuardian
6+
import app.softnetwork.session.model.{SessionData, SessionDataCompanion, SessionDataDecorator}
7+
import com.softwaremill.session.{RefreshTokenStorage, SessionConfig, SessionManager}
8+
import org.softnetwork.session.model.Session
9+
10+
trait SessionDataApi[SD <: SessionData with SessionDataDecorator[SD]] { _: SessionGuardian =>
11+
12+
implicit def sessionConfig: SessionConfig = Settings.Session.DefaultSessionConfig
13+
14+
implicit def companion: SessionDataCompanion[SD]
15+
16+
override protected def sessionType: Session.SessionType =
17+
Settings.Session.SessionContinuityAndTransport
18+
19+
protected def manager: SessionManager[SD]
20+
21+
protected def refreshTokenStorage: ActorSystem[_] => RefreshTokenStorage[SD]
22+
23+
}

0 commit comments

Comments
 (0)