Skip to content

Commit 150177b

Browse files
committed
upgrade session dependencies
1 parent 8b379f6 commit 150177b

17 files changed

+57
-40
lines changed

api/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import com.typesafe.sbt.packager.docker._
22

3-
Compile / mainClass := Some("app.softnetwork.resource.api.ResourceToLocalFileSystemEndpointsWithOneOffCookiePostgresLauncher")
3+
Compile / mainClass := Some("app.softnetwork.resource.api.ResourceToLocalFileSystemEndpointsPostgresLauncher")
44

55
dockerBaseImage := "openjdk:8"
66

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package app.softnetwork.resource.api
22

33
import akka.actor.typed.ActorSystem
4+
import app.softnetwork.api.server.SwaggerEndpoint
45
import app.softnetwork.persistence.launch.PersistentEntity
56
import app.softnetwork.persistence.launch.PersistenceGuardian._
67
import app.softnetwork.persistence.schema.SchemaProvider
@@ -9,10 +10,13 @@ import app.softnetwork.resource.message.ResourceEvents.ResourceEvent
910
import app.softnetwork.resource.message.ResourceMessages.{ResourceCommand, ResourceResult}
1011
import app.softnetwork.resource.model.Resource
1112
import app.softnetwork.resource.persistence.typed.ResourceBehavior
13+
import app.softnetwork.session.CsrfCheck
1214

13-
trait ResourceApi extends ResourceApplication[Resource] { _: SchemaProvider =>
15+
trait ResourceApi extends ResourceApplication[Resource] { _: SchemaProvider with CsrfCheck =>
1416

1517
override def resourceEntity
1618
: ActorSystem[_] => PersistentEntity[ResourceCommand, Resource, ResourceEvent, ResourceResult] =
1719
_ => ResourceBehavior
20+
21+
def resourceSwagger: ActorSystem[_] => SwaggerEndpoint
1822
}
Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
package app.softnetwork.resource.api
22

33
import akka.actor.typed.ActorSystem
4+
import app.softnetwork.api.server.SwaggerEndpoint
45
import app.softnetwork.persistence.jdbc.query.{JdbcJournalProvider, JdbcOffsetProvider}
56
import app.softnetwork.persistence.schema.SchemaProvider
67
import app.softnetwork.resource.model.Resource
78
import app.softnetwork.resource.persistence.query.{
89
GenericResourceToExternalProcessorStream,
910
ResourceToLocalFileSystemProcessorStream
1011
}
11-
import app.softnetwork.resource.service.{LocalFileSystemResourceService, ResourceService}
12+
import app.softnetwork.resource.service.LocalFileSystemResourceServiceEndpoints
13+
import app.softnetwork.session.CsrfCheck
14+
import app.softnetwork.session.service.SessionEndpoints
1215
import com.typesafe.config.Config
16+
import org.slf4j.{Logger, LoggerFactory}
1317

14-
trait ResourceToLocalFileSystemApi extends ResourceApi { _: SchemaProvider =>
18+
trait ResourceToLocalFileSystemApi extends ResourceApi { self: SchemaProvider with CsrfCheck =>
1519
override def resourceToExternalProcessorStream
1620
: ActorSystem[_] => GenericResourceToExternalProcessorStream[Resource] =
1721
sys =>
@@ -21,4 +25,13 @@ trait ResourceToLocalFileSystemApi extends ResourceApi { _: SchemaProvider =>
2125
override implicit def system: ActorSystem[_] = sys
2226
override def config: Config = ResourceToLocalFileSystemApi.this.config
2327
}
28+
29+
def resourceSwagger: ActorSystem[_] => SwaggerEndpoint = sys =>
30+
new LocalFileSystemResourceServiceEndpoints with SwaggerEndpoint {
31+
override implicit def system: ActorSystem[_] = sys
32+
lazy val log: Logger = LoggerFactory getLogger getClass.getName
33+
override def sessionEndpoints: SessionEndpoints = self.sessionEndpoints(system)
34+
override val applicationVersion: String = systemVersion()
35+
}
36+
2437
}

api/src/main/scala/app/softnetwork/resource/api/ResourceToLocalFileSystemEndpointsApi.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package app.softnetwork.resource.api
22

33
import akka.actor.typed.ActorSystem
4+
import app.softnetwork.api.server.Endpoint
45
import app.softnetwork.persistence.schema.SchemaProvider
56
import app.softnetwork.resource.launch.ResourceEndpoints
67
import app.softnetwork.resource.model.Resource
@@ -16,4 +17,7 @@ trait ResourceToLocalFileSystemEndpointsApi
1617

1718
override def resourceEndpoints: ActorSystem[_] => ResourceServiceEndpoints = system =>
1819
LocalFileSystemResourceServiceEndpoints(system, sessionEndpoints(system))
20+
21+
override def endpoints: ActorSystem[_] => List[Endpoint] = system =>
22+
super.endpoints(system) :+ resourceSwagger(system)
1923
}

api/src/main/scala/app/softnetwork/resource/api/ResourceToLocalFileSystemEndpointsWithOneOffCookiePostgresLauncher.scala renamed to api/src/main/scala/app/softnetwork/resource/api/ResourceToLocalFileSystemEndpointsPostgresLauncher.scala

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
package app.softnetwork.resource.api
22

3-
import akka.actor.typed.ActorSystem
43
import app.softnetwork.persistence.jdbc.schema.{JdbcSchemaProvider, JdbcSchemaTypes}
54
import app.softnetwork.persistence.schema.SchemaType
65
import app.softnetwork.session.CsrfCheckHeader
7-
import app.softnetwork.session.service.SessionEndpoints
86
import org.slf4j.{Logger, LoggerFactory}
97

10-
object ResourceToLocalFileSystemEndpointsWithOneOffCookiePostgresLauncher
8+
object ResourceToLocalFileSystemEndpointsPostgresLauncher
119
extends ResourceToLocalFileSystemEndpointsApi
1210
with CsrfCheckHeader
1311
with JdbcSchemaProvider {
1412
lazy val log: Logger = LoggerFactory getLogger getClass.getName
1513

1614
def schemaType: SchemaType = JdbcSchemaTypes.Postgres
1715

18-
override def sessionEndpoints: ActorSystem[_] => SessionEndpoints = system =>
19-
SessionEndpoints.oneOffCookie(system, checkHeaderAndForm)
2016
}
Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
package app.softnetwork.resource.api
22

33
import akka.actor.typed.ActorSystem
4+
import app.softnetwork.api.server.ApiRoute
45
import app.softnetwork.persistence.schema.SchemaProvider
56
import app.softnetwork.resource.launch.ResourceRoutes
67
import app.softnetwork.resource.model.Resource
78
import app.softnetwork.resource.service.{LocalFileSystemResourceService, ResourceService}
9+
import app.softnetwork.session.CsrfCheckHeader
810

911
trait ResourceToLocalFileSystemRoutesApi
1012
extends ResourceToLocalFileSystemApi
11-
with ResourceRoutes[Resource] { _: SchemaProvider =>
13+
with ResourceRoutes[Resource]
14+
with CsrfCheckHeader { _: SchemaProvider =>
1215

1316
override def resourceService: ActorSystem[_] => ResourceService = system =>
1417
LocalFileSystemResourceService(system, sessionService(system))
18+
19+
override def apiRoutes: ActorSystem[_] => List[ApiRoute] = system =>
20+
super.apiRoutes(system) :+ resourceSwagger(system)
1521
}

api/src/main/scala/app/softnetwork/resource/api/ResourceToLocalFileSystemRoutesWithOneOffCookiePostgresLauncher.scala renamed to api/src/main/scala/app/softnetwork/resource/api/ResourceToLocalFileSystemRoutesPostgresLauncher.scala

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
package app.softnetwork.resource.api
22

3-
import akka.actor.typed.ActorSystem
43
import app.softnetwork.persistence.jdbc.schema.{JdbcSchemaProvider, JdbcSchemaTypes}
54
import app.softnetwork.persistence.schema.SchemaType
6-
import app.softnetwork.session.service.SessionService
75
import org.slf4j.{Logger, LoggerFactory}
86

9-
object ResourceToLocalFileSystemRoutesWithOneOffCookiePostgresLauncher
7+
object ResourceToLocalFileSystemRoutesPostgresLauncher
108
extends ResourceToLocalFileSystemRoutesApi
119
with JdbcSchemaProvider {
1210
lazy val log: Logger = LoggerFactory getLogger getClass.getName
1311

1412
def schemaType: SchemaType = JdbcSchemaTypes.Postgres
1513

16-
override def sessionService: ActorSystem[_] => SessionService = system =>
17-
SessionService.oneOffCookie(system)
1814
}

core/src/main/scala/app/softnetwork/resource/launch/ResourceApplication.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ import app.softnetwork.api.server.ApiRoutes
44
import app.softnetwork.api.server.launch.Application
55
import app.softnetwork.persistence.schema.SchemaProvider
66
import app.softnetwork.resource.model.GenericResource
7+
import app.softnetwork.session.CsrfCheck
78

89
trait ResourceApplication[Resource <: GenericResource]
910
extends Application
1011
with ApiRoutes
11-
with ResourceGuardian[Resource] { _: SchemaProvider => }
12+
with ResourceGuardian[Resource] { _: SchemaProvider with CsrfCheck => }

core/src/main/scala/app/softnetwork/resource/launch/ResourceEndpoints.scala

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,9 @@ import app.softnetwork.persistence.schema.SchemaProvider
66
import app.softnetwork.resource.model.GenericResource
77
import app.softnetwork.resource.service.ResourceServiceEndpoints
88
import app.softnetwork.session.CsrfCheck
9-
import app.softnetwork.session.service.SessionEndpoints
109

11-
trait ResourceEndpoints[Resource <: GenericResource]
12-
extends ApiEndpoints
13-
with ResourceGuardian[Resource] { _: SchemaProvider with CsrfCheck =>
14-
15-
def sessionEndpoints: ActorSystem[_] => SessionEndpoints
10+
trait ResourceEndpoints[Resource <: GenericResource] extends ApiEndpoints {
11+
_: ResourceGuardian[Resource] with SchemaProvider with CsrfCheck =>
1612

1713
def resourceEndpoints: ActorSystem[_] => ResourceServiceEndpoints
1814

core/src/main/scala/app/softnetwork/resource/launch/ResourceGuardian.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package app.softnetwork.resource.launch
22

33
import akka.actor.typed.ActorSystem
4-
import app.softnetwork.persistence.launch.{PersistenceGuardian, PersistentEntity}
4+
import app.softnetwork.persistence.launch.PersistentEntity
55
import app.softnetwork.persistence.query.EventProcessorStream
66
import app.softnetwork.persistence.schema.SchemaProvider
77
import app.softnetwork.persistence.typed.Singleton
@@ -10,10 +10,12 @@ import app.softnetwork.resource.message.ResourceEvents.ResourceEvent
1010
import app.softnetwork.resource.message.ResourceMessages.{ResourceCommand, ResourceResult}
1111
import app.softnetwork.resource.model.GenericResource
1212
import app.softnetwork.resource.persistence.query.GenericResourceToExternalProcessorStream
13+
import app.softnetwork.session.CsrfCheck
14+
import app.softnetwork.session.launch.SessionGuardian
1315
import com.typesafe.scalalogging.StrictLogging
1416

15-
trait ResourceGuardian[Resource <: GenericResource] extends PersistenceGuardian with StrictLogging {
16-
_: SchemaProvider =>
17+
trait ResourceGuardian[Resource <: GenericResource] extends SessionGuardian with StrictLogging {
18+
_: SchemaProvider with CsrfCheck =>
1719

1820
def resourceEntity
1921
: ActorSystem[_] => PersistentEntity[ResourceCommand, Resource, ResourceEvent, ResourceResult]

0 commit comments

Comments
 (0)