aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlad Uspensky <v.uspenskiy@icloud.com>2017-08-07 14:51:50 -0700
committerGitHub <noreply@github.com>2017-08-07 14:51:50 -0700
commit77973b5559d17fcb82466fcd34cfbb1841b9932b (patch)
tree31c46a8853684d3289209de6cd6562d7bffc1921
parent886415aa5f86e758d9a9aafa8f60128e3473311a (diff)
parent4c40344fef816ad42c5e8da8ebd73c54f268c02b (diff)
downloaddriver-core-77973b5559d17fcb82466fcd34cfbb1841b9932b.tar.gz
driver-core-77973b5559d17fcb82466fcd34cfbb1841b9932b.tar.bz2
driver-core-77973b5559d17fcb82466fcd34cfbb1841b9932b.zip
Merge pull request #56 from drivergroup/users-hierarchyv0.16.1
Users hierarchy
-rw-r--r--build.sbt2
-rw-r--r--src/main/scala/xyz/driver/core/auth.scala23
-rw-r--r--src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala6
-rw-r--r--src/main/scala/xyz/driver/core/database/database.scala6
-rw-r--r--src/main/scala/xyz/driver/core/database/package.scala2
-rw-r--r--src/test/scala/xyz/driver/core/AuthTest.scala10
6 files changed, 36 insertions, 13 deletions
diff --git a/build.sbt b/build.sbt
index 6942993..f0a0a73 100644
--- a/build.sbt
+++ b/build.sbt
@@ -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])
}