Skip to content

Commit 194c8b9

Browse files
committed
upgrade dependencies to akka http json4s, akka http session, jackson, json4s - add dependencies to tapir - implement akka http session with tapir endpoints
1 parent f553e56 commit 194c8b9

File tree

34 files changed

+1676
-107
lines changed

34 files changed

+1676
-107
lines changed

build.sbt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ ThisBuild / organization := "app.softnetwork"
3030

3131
name := "generic-persistence-api"
3232

33-
ThisBuild / version := "0.3.0.3"
33+
ThisBuild / version := "0.3.1"
3434

3535
ThisBuild / scalaVersion := "2.12.11"
3636

37-
ThisBuild / scalacOptions ++= Seq("-deprecation", "-feature", "-target:jvm-1.8")
37+
ThisBuild / scalacOptions ++= Seq("-deprecation", "-feature", "-target:jvm-1.8", "-Ypartial-unification")
3838

3939
ThisBuild / javacOptions ++= Seq("-source", "1.8", "-target", "1.8")
4040

core/src/main/scala/app/softnetwork/persistence/package.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,5 @@ package object persistence {
4343

4444
val version: String = sys.env.getOrElse("VERSION", BuildInfo.version)
4545

46+
val appName: String = sys.env.getOrElse("APP", BuildInfo.name)
4647
}

core/testkit/src/main/scala/app/softnetwork/persistence/person/PersonTestKit.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ trait PersonTestKit extends PersonHandler with AnyWordSpecLike with PersistenceT
5252
val probe: TestProbe[PersonEvent] = createTestProbe[PersonEvent]()
5353
subscribeProbe(probe)
5454
?(uuid, AddPerson("name", birthday)) await {
55-
case PersonAdded =>
55+
case _: PersonAdded =>
5656
assert(loadPerson(uuid).map(_.name).getOrElse("") == "name")
5757
probe.receiveMessage() match {
5858
case _: PersonCreatedEvent =>

core/testkit/src/main/scala/app/softnetwork/persistence/person/message/package.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ package object message {
2424
case object DeletePerson extends PersonCommand
2525

2626
sealed trait PersonCommandResult extends CommandResult
27-
case object PersonAdded extends PersonCommandResult
27+
case class PersonAdded(uuid: String) extends PersonCommandResult
2828
case object PersonUpdated extends PersonCommandResult
2929
case object NameUpdated extends PersonCommandResult
3030
case object PersonDeleted extends PersonCommandResult

core/testkit/src/main/scala/app/softnetwork/persistence/person/typed/PersonBehavior.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ trait PersonBehavior
7474
import cmd._
7575
Effect
7676
.persist(PersonCreatedEvent(Person(entityId, name, birthDate)))
77-
.thenRun(_ => PersonAdded ~> replyTo)
77+
.thenRun(_ => PersonAdded(entityId) ~> replyTo)
7878
case LoadPerson =>
7979
state match {
8080
case Some(person) => Effect.none.thenRun(_ => PersonLoaded(person) ~> replyTo)

core/testkit/src/main/scala/app/softnetwork/persistence/scalatest/PersistenceTestKit.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import org.scalatest.time.Span
1818
import org.scalatest.{BeforeAndAfterAll, Suite}
1919
import org.slf4j.Logger
2020

21-
import java.net.{InetAddress, ServerSocket}
21+
import java.net.ServerSocket
2222
import scala.language.implicitConversions
2323
import scala.reflect.ClassTag
2424

@@ -39,7 +39,7 @@ trait PersistenceTestKit
3939

4040
lazy val systemName: String = generateUUID()
4141

42-
def hostname: String = InetAddress.getLocalHost.getHostAddress
42+
def hostname: String = "127.0.0.1"
4343

4444
def dynamicPort: Int = {
4545
val socket = new ServerSocket(0)
@@ -95,7 +95,8 @@ trait PersistenceTestKit
9595
|
9696
|akka.management {
9797
| http {
98-
| port = $managementPort
98+
| hostname = $hostname
99+
| port = $managementPort
99100
| }
100101
| cluster.bootstrap {
101102
| contact-point-discovery {
@@ -104,6 +105,7 @@ trait PersistenceTestKit
104105
| }
105106
|}
106107
|
108+
|akka.remote.artery.canonical.hostname = $hostname
107109
|akka.remote.artery.canonical.port = 0
108110
|
109111
|akka.coordinated-shutdown.exit-jvm = off

jdbc/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ organization := "app.softnetwork.persistence"
88
name := "persistence-jdbc"
99

1010
val akkaPersistenceJdbc = Seq(
11-
"com.lightbend.akka" %% "akka-persistence-jdbc" % Versions.lightbendAkkaPersistenceJdbc,
11+
"com.lightbend.akka" %% "akka-persistence-jdbc" % Versions.akkaPersistenceJdbc,
1212
"com.typesafe.akka" %% "akka-persistence-query" % Versions.akka,
1313
"com.typesafe.slick" %% "slick" % Versions.slick,
1414
"com.typesafe.slick" %% "slick-hikaricp" % Versions.slick,

jdbc/src/main/scala/app/softnetwork/persistence/jdbc/schema/JdbcSchemaProvider.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@ package app.softnetwork.persistence.jdbc.schema
22

33
import akka.actor
44
import akka.actor.typed.ActorSystem
5+
import app.softnetwork.persistence.launch.PersistenceGuardian
56
import app.softnetwork.persistence.schema.{Schema, SchemaProvider, SchemaType}
67
import app.softnetwork.persistence.typed._
78
import com.typesafe.config.Config
89

9-
trait JdbcSchemaProvider extends SchemaProvider {
10+
trait JdbcSchemaProvider extends SchemaProvider { _: PersistenceGuardian =>
1011

1112
def schemaType: SchemaType
1213

13-
def config: Config
14-
1514
override def schema: ActorSystem[_] => Schema = sys =>
1615
new JdbcSchema {
1716
override def schemaType: SchemaType = JdbcSchemaProvider.this.schemaType

project/plugins.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ addSbtPlugin("com.tapad" % "sbt-docker-compose" % "1.0.34")
88

99
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.7.0")
1010

11-
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.10.0-RC1")
11+
addDependencyTreePlugin
1212

1313
//addSbtPlugin("com.typesafe.sbt" % "sbt-multi-jvm" % "0.4.0")
1414

project/src/main/scala/app/softnetwork/sbt/build/Versions.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ object Versions {
66

77
val akkaHttp = "10.2.10"
88

9-
val akkaHttpJson4s = "1.37.0" //1.37.0 -> 1.39.2
9+
val akkaHttpJson4s = "1.39.2" //1.37.0 -> 1.39.2
1010

11-
val akkaHttpSession = "0.5.11" // 0.5.11 -> 0.7.0
11+
val akkaHttpSession = "0.7.0" // 0.5.11 -> 0.7.0
1212

13-
val akkaPersistenceJdbc = "3.5.2"
13+
val tapir = "1.3.0"
14+
15+
val akkaPersistenceJdbc = "5.0.4"
1416

1517
val akkaManagement = "1.1.4" // 1.1.4 -> 1.2
1618

@@ -22,9 +24,9 @@ object Versions {
2224

2325
val kxbmap = "0.4.4"
2426

25-
val jackson = "2.11.4"
27+
val jackson = "2.12.7" // 2.11.4 -> 2.12.7
2628

27-
val json4s = "3.6.12"
29+
val json4s = "4.0.6" // 3.6.12 -> 4.0.6
2830

2931
val scalaLogging = "3.9.2"
3032

@@ -46,8 +48,6 @@ object Versions {
4648

4749
val slick = "3.3.3"
4850

49-
val lightbendAkkaPersistenceJdbc = "5.0.4"
50-
5151
val akkaPersistenceCassandra = "1.0.6"
5252

5353
val testContainers = "1.18.0"

0 commit comments

Comments
 (0)