Skip to content

Commit 49292fd

Browse files
committed
upgrading session materials
1 parent b602a46 commit 49292fd

File tree

18 files changed

+119
-61
lines changed

18 files changed

+119
-61
lines changed

api/src/main/scala/app/softnetwork/scheduler/api/SchedulerApi.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import app.softnetwork.scheduler.handlers.SchedulerHandler
88
import app.softnetwork.scheduler.launch.SchedulerApplication
99
import app.softnetwork.scheduler.persistence.query.Entity2SchedulerProcessorStream
1010
import app.softnetwork.session.config.Settings
11-
import app.softnetwork.session.model.SessionManagers
11+
import app.softnetwork.session.model.{SessionDataCompanion, SessionManagers}
1212
import com.softwaremill.session.{SessionConfig, SessionManager}
1313
import com.typesafe.config.Config
1414
import org.softnetwork.session.model.Session
@@ -36,7 +36,10 @@ trait SchedulerApi extends SchedulerApplication { _: SchemaProvider =>
3636
override protected def sessionType: Session.SessionType =
3737
Settings.Session.SessionContinuityAndTransport
3838

39-
override protected def manager(implicit sessionConfig: SessionConfig): SessionManager[Session] =
39+
override protected def manager(implicit
40+
sessionConfig: SessionConfig,
41+
companion: SessionDataCompanion[Session]
42+
): SessionManager[Session] =
4043
SessionManagers.basic
4144

4245
}

build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ ThisBuild / organization := "app.softnetwork"
22

33
name := "scheduler"
44

5-
ThisBuild / version := "0.5.1"
5+
ThisBuild / version := "0.6.0"
66

77
ThisBuild / scalaVersion := "2.12.15"
88

core/src/main/scala/app/softnetwork/scheduler/launch/SchedulerEndpoints.scala

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ import akka.actor.typed.ActorSystem
44
import app.softnetwork.api.server.{ApiEndpoints, Endpoint}
55
import app.softnetwork.persistence.schema.SchemaProvider
66
import app.softnetwork.scheduler.service.SchedulerServiceEndpoints
7+
import app.softnetwork.session.handlers.SessionRefreshTokenDao
8+
import app.softnetwork.session.model.SessionDataCompanion
79
import app.softnetwork.session.service.SessionMaterials
8-
import com.softwaremill.session.{SessionConfig, SessionManager}
10+
import com.softwaremill.session.{RefreshTokenStorage, SessionConfig, SessionManager}
911
import org.slf4j.{Logger, LoggerFactory}
1012
import org.softnetwork.session.model.Session
1113

@@ -14,14 +16,17 @@ import scala.concurrent.ExecutionContext
1416
trait SchedulerEndpoints extends ApiEndpoints { self: SchedulerGuardian with SchemaProvider =>
1517

1618
def schedulerEndpoints: ActorSystem[_] => SchedulerServiceEndpoints = sys =>
17-
new SchedulerServiceEndpoints with SessionMaterials {
19+
new SchedulerServiceEndpoints with SessionMaterials[Session] {
1820
override implicit def system: ActorSystem[_] = sys
1921
override lazy val ec: ExecutionContext = sys.executionContext
2022
lazy val log: Logger = LoggerFactory getLogger getClass.getName
2123
override protected def sessionType: Session.SessionType = self.sessionType
2224
override implicit def manager(implicit
23-
sessionConfig: SessionConfig
25+
sessionConfig: SessionConfig,
26+
companion: SessionDataCompanion[Session]
2427
): SessionManager[Session] = self.manager
28+
override implicit def refreshTokenStorage: RefreshTokenStorage[Session] =
29+
SessionRefreshTokenDao(system)
2530
}
2631

2732
override def endpoints: ActorSystem[_] => List[Endpoint] = system =>

core/src/main/scala/app/softnetwork/scheduler/launch/SchedulerGuardian.scala

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@ import app.softnetwork.scheduler.persistence.query.{
1616
import app.softnetwork.scheduler.persistence.typed.SchedulerBehavior
1717
import app.softnetwork.scheduler.service.SchedulerServiceEndpoints
1818
import app.softnetwork.session.CsrfCheckHeader
19+
import app.softnetwork.session.handlers.SessionRefreshTokenDao
1920
import app.softnetwork.session.launch.SessionGuardian
21+
import app.softnetwork.session.model.SessionDataCompanion
2022
import app.softnetwork.session.service.SessionMaterials
21-
import com.softwaremill.session.{SessionConfig, SessionManager}
23+
import com.softwaremill.session.{RefreshTokenStorage, SessionConfig, SessionManager}
2224
import org.slf4j.{Logger, LoggerFactory}
2325
import org.softnetwork.session.model.Session
2426

@@ -70,15 +72,23 @@ trait SchedulerGuardian extends SessionGuardian with CsrfCheckHeader { self: Sch
7072
override def systemVersion(): String =
7173
sys.env.getOrElse("VERSION", SchedulerCoreBuildInfo.version)
7274

75+
protected def manager(implicit
76+
sessionConfig: SessionConfig,
77+
companion: SessionDataCompanion[Session]
78+
): SessionManager[Session]
79+
7380
def schedulerSwagger: ActorSystem[_] => SwaggerEndpoint = sys =>
74-
new SchedulerServiceEndpoints with SwaggerEndpoint with SessionMaterials {
81+
new SchedulerServiceEndpoints with SwaggerEndpoint with SessionMaterials[Session] {
7582
override implicit def system: ActorSystem[_] = sys
7683
override lazy val ec: ExecutionContext = sys.executionContext
7784
lazy val log: Logger = LoggerFactory getLogger getClass.getName
7885
override protected def sessionType: Session.SessionType = self.sessionType
7986
override implicit def manager(implicit
80-
sessionConfig: SessionConfig
87+
sessionConfig: SessionConfig,
88+
companion: SessionDataCompanion[Session]
8189
): SessionManager[Session] = self.manager
90+
override implicit def refreshTokenStorage: RefreshTokenStorage[Session] =
91+
SessionRefreshTokenDao(system)
8292
override val applicationVersion: String = systemVersion()
8393
}
8494
}

core/src/main/scala/app/softnetwork/scheduler/launch/SchedulerRoutes.scala

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ import akka.actor.typed.ActorSystem
44
import app.softnetwork.api.server.{ApiRoute, ApiRoutes}
55
import app.softnetwork.persistence.schema.SchemaProvider
66
import app.softnetwork.scheduler.service.SchedulerService
7+
import app.softnetwork.session.handlers.SessionRefreshTokenDao
8+
import app.softnetwork.session.model.SessionDataCompanion
79
import app.softnetwork.session.service.SessionMaterials
8-
import com.softwaremill.session.{SessionConfig, SessionManager}
10+
import com.softwaremill.session.{RefreshTokenStorage, SessionConfig, SessionManager}
911
import org.slf4j.{Logger, LoggerFactory}
1012
import org.softnetwork.session.model.Session
1113

@@ -14,14 +16,17 @@ import scala.concurrent.ExecutionContext
1416
trait SchedulerRoutes extends ApiRoutes { self: SchedulerGuardian with SchemaProvider =>
1517

1618
def schedulerService: ActorSystem[_] => SchedulerService = sys =>
17-
new SchedulerService with SessionMaterials {
19+
new SchedulerService with SessionMaterials[Session] {
1820
override implicit def system: ActorSystem[_] = sys
1921
override lazy val ec: ExecutionContext = sys.executionContext
2022
lazy val log: Logger = LoggerFactory getLogger getClass.getName
2123
override protected def sessionType: Session.SessionType = self.sessionType
2224
override implicit def manager(implicit
23-
sessionConfig: SessionConfig
25+
sessionConfig: SessionConfig,
26+
companion: SessionDataCompanion[Session]
2427
): SessionManager[Session] = self.manager
28+
override implicit def refreshTokenStorage: RefreshTokenStorage[Session] =
29+
SessionRefreshTokenDao(system)
2530
}
2631

2732
override def apiRoutes: ActorSystem[_] => List[ApiRoute] =

core/src/main/scala/app/softnetwork/scheduler/service/SchedulerService.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,16 @@ import com.typesafe.scalalogging.StrictLogging
1818
import de.heikoseeberger.akkahttpjson4s.Json4sSupport
1919
import org.json4s.jackson.Serialization
2020
import org.json4s.{jackson, Formats}
21+
import org.softnetwork.session.model.Session
2122

2223
trait SchedulerService
2324
extends Directives
2425
with DefaultComplete
2526
with Json4sSupport
2627
with StrictLogging
27-
with ServiceWithSessionDirectives[SchedulerCommand, SchedulerCommandResult]
28+
with ServiceWithSessionDirectives[SchedulerCommand, SchedulerCommandResult, Session]
2829
with SchedulerDao
29-
with SchedulerHandler { _: SessionMaterials =>
30+
with SchedulerHandler { _: SessionMaterials[Session] =>
3031

3132
implicit def sessionConfig: SessionConfig = Settings.Session.DefaultSessionConfig
3233

core/src/main/scala/app/softnetwork/scheduler/service/SchedulerServiceEndpoints.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ import scala.concurrent.Future
2121
import scala.language.implicitConversions
2222

2323
trait SchedulerServiceEndpoints
24-
extends ServiceWithSessionEndpoints[SchedulerCommand, SchedulerCommandResult]
24+
extends ServiceWithSessionEndpoints[SchedulerCommand, SchedulerCommandResult, Session]
2525
with SchedulerDao
26-
with SchedulerHandler { _: SessionMaterials =>
26+
with SchedulerHandler { _: SessionMaterials[Session] =>
2727

2828
import app.softnetwork.serialization._
2929

project/Versions.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
object Versions {
22

3-
val genericPersistence = "0.5.1"
3+
val genericPersistence = "0.6.0"
44

55
val scalatest = "3.2.16"
66
}

testkit/src/main/scala/app/softnetwork/scheduler/scalatest/SchedulerEndpointsTestKit.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ import app.softnetwork.scheduler.launch.SchedulerEndpoints
77
import app.softnetwork.session.CsrfCheck
88
import app.softnetwork.session.scalatest.{SessionEndpointsRoutes, SessionTestKit}
99
import app.softnetwork.session.service.SessionMaterials
10+
import org.softnetwork.session.model.Session
1011

11-
trait SchedulerEndpointsTestKit extends SchedulerEndpoints with SessionEndpointsRoutes {
12-
_: SessionTestKit
12+
trait SchedulerEndpointsTestKit extends SchedulerEndpoints with SessionEndpointsRoutes[Session] {
13+
_: SessionTestKit[Session]
1314
with SchedulerTestKit
1415
with SchemaProvider
15-
with SessionMaterials
16+
with SessionMaterials[Session]
1617
with CsrfCheck =>
1718

1819
override def endpoints: ActorSystem[_] => List[Endpoint] =

testkit/src/main/scala/app/softnetwork/scheduler/scalatest/SchedulerRouteTestKit.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,13 @@ import app.softnetwork.serialization._
1111
import app.softnetwork.session.scalatest.SessionTestKit
1212
import app.softnetwork.session.service.SessionMaterials
1313
import org.scalatest.Suite
14+
import org.softnetwork.session.model.Session
1415

1516
trait SchedulerRouteTestKit
16-
extends SessionTestKit
17+
extends SessionTestKit[Session]
1718
with SchedulerTestKit
1819
with SchedulerGrpcServices {
19-
_: Suite with ApiRoutes with SessionMaterials =>
20+
_: Suite with ApiRoutes with SessionMaterials[Session] =>
2021

2122
override def beforeAll(): Unit = {
2223
super.beforeAll()

0 commit comments

Comments
 (0)