diff options
-rw-r--r-- | build.sbt | 2 | ||||
-rw-r--r-- | src/main/scala/xyz/driver/core/auth.scala | 23 | ||||
-rw-r--r-- | src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala | 6 | ||||
-rw-r--r-- | src/main/scala/xyz/driver/core/database/database.scala | 6 | ||||
-rw-r--r-- | src/main/scala/xyz/driver/core/database/package.scala | 2 | ||||
-rw-r--r-- | src/test/scala/xyz/driver/core/AuthTest.scala | 10 |
6 files changed, 36 insertions, 13 deletions
@@ -18,7 +18,7 @@ lazy val core = (project in file(".")) "com.amazonaws" % "aws-java-sdk-s3" % "1.11.26", "com.google.cloud" % "google-cloud-pubsub" % "0.17.2-alpha", "com.google.cloud" % "google-cloud-storage" % "1.0.1", - "com.typesafe.slick" %% "slick" % "3.2.1", + "com.typesafe.slick" %% "slick" % "3.1.1", "com.typesafe" % "config" % "1.2.1", "com.typesafe.scala-logging" %% "scala-logging" % "3.5.0", "ch.qos.logback" % "logback-classic" % "1.1.3" diff --git a/src/main/scala/xyz/driver/core/auth.scala b/src/main/scala/xyz/driver/core/auth.scala index 5dea2db..7b589ba 100644 --- a/src/main/scala/xyz/driver/core/auth.scala +++ b/src/main/scala/xyz/driver/core/auth.scala @@ -1,6 +1,6 @@ package xyz.driver.core -import xyz.driver.core.domain.Email +import xyz.driver.core.domain.{Email, PhoneNumber} import scalaz.Equal @@ -16,12 +16,27 @@ object auth { trait User { def id: Id[User] - def roles: Set[Role] } - final case class BasicUser(id: Id[User], roles: Set[Role]) extends User - final case class AuthToken(value: String) + + final case class AuthUser(id: Id[AuthUser], + userId: Id[User], + email: Email, + emailVerified: Boolean, + phoneNumber: Option[PhoneNumber], + phoneVerified: Boolean, + isBlocked: Boolean, + roles: Set[Role]) + + final case class AuthTokenUserInfo(id: Id[User], + authUserId: Id[AuthUser], + email: Email, + emailVerified: Boolean, + audience: String, + roles: Set[Role]) + extends User + final case class RefreshToken(value: String) final case class PermissionsToken(value: String) diff --git a/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala b/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala index a3f57c1..1331efc 100644 --- a/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala +++ b/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala @@ -1,11 +1,11 @@ package xyz.driver.core.database -import slick.jdbc.HsqldbProfile +import slick.driver.HsqldbDriver import slick.jdbc.JdbcType import slick.ast.FieldSymbol -import slick.relational.RelationalProfile +import slick.profile.RelationalProfile -trait PatchedHsqldbProfile extends HsqldbProfile { +trait PatchedHsqldbProfile extends HsqldbDriver { override def defaultSqlTypeName(tmd: JdbcType[_], sym: Option[FieldSymbol]): String = tmd.sqlType match { case java.sql.Types.VARCHAR => val size = sym.flatMap(_.findColumnOption[RelationalProfile.ColumnOption.Length]) diff --git a/src/main/scala/xyz/driver/core/database/database.scala b/src/main/scala/xyz/driver/core/database/database.scala index 7855a16..8426309 100644 --- a/src/main/scala/xyz/driver/core/database/database.scala +++ b/src/main/scala/xyz/driver/core/database/database.scala @@ -1,7 +1,7 @@ package xyz.driver.core -import slick.basic.DatabaseConfig -import slick.jdbc.JdbcProfile +import slick.backend.DatabaseConfig +import slick.driver.JdbcProfile import xyz.driver.core.date.Date import xyz.driver.core.time.Time @@ -21,7 +21,7 @@ package database { val dbConfig: DatabaseConfig[JdbcProfile] = DatabaseConfig.forConfig(databaseName, config) new Database { - val profile: JdbcProfile = dbConfig.profile + val profile: JdbcProfile = dbConfig.driver val database: JdbcProfile#Backend#Database = dbConfig.db } } diff --git a/src/main/scala/xyz/driver/core/database/package.scala b/src/main/scala/xyz/driver/core/database/package.scala index 9385c8f..b39169d 100644 --- a/src/main/scala/xyz/driver/core/database/package.scala +++ b/src/main/scala/xyz/driver/core/database/package.scala @@ -5,7 +5,7 @@ import java.util.Calendar import date.{Date, Month} import slick.dbio._ -import slick.jdbc.JdbcProfile +import slick.driver.JdbcProfile package object database { diff --git a/src/test/scala/xyz/driver/core/AuthTest.scala b/src/test/scala/xyz/driver/core/AuthTest.scala index 16f9e92..69dbd9e 100644 --- a/src/test/scala/xyz/driver/core/AuthTest.scala +++ b/src/test/scala/xyz/driver/core/AuthTest.scala @@ -9,6 +9,7 @@ import org.scalatest.mockito.MockitoSugar import org.scalatest.{FlatSpec, Matchers} import pdi.jwt.{Jwt, JwtAlgorithm} import xyz.driver.core.auth._ +import xyz.driver.core.domain.Email import xyz.driver.core.logging._ import xyz.driver.core.rest._ @@ -51,7 +52,14 @@ class AuthTest extends FlatSpec with Matchers with MockitoSugar with ScalatestRo override def authenticatedUser(implicit ctx: ServiceRequestContext): OptionT[Future, User] = OptionT.optionT[Future] { if (ctx.contextHeaders.keySet.contains(AuthProvider.AuthenticationTokenHeader)) { - Future.successful(Some(BasicUser(Id[User]("1"), Set(TestRole)))) + Future.successful(Some(AuthTokenUserInfo( + Id[User]("1"), + authUserId = Id[AuthUser]("2"), + Email("foo", "bar"), + emailVerified = true, + audience = "driver", + roles = Set(TestRole) + ))) } else { Future.successful(Option.empty[User]) } |