aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-07-17 19:35:53 -0700
committervlad <vlad@driver.xyz>2017-07-17 19:35:53 -0700
commit01ead151be45774ed3fc08ef010215a5f5728498 (patch)
tree70ec5273736e67693be0d61cd2d9bb604505bfb4
parent702b86748425650445b8b2278814474bab9ae27b (diff)
downloadrest-query-01ead151be45774ed3fc08ef010215a5f5728498.tar.gz
rest-query-01ead151be45774ed3fc08ef010215a5f5728498.tar.bz2
rest-query-01ead151be45774ed3fc08ef010215a5f5728498.zip
Removing PasswordHash and jbCrypt lib from dependencies
-rw-r--r--build.sbt1
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/computation/Computation.scala5
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/domain/PasswordHash.scala36
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/domain/User.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/json/Serialization.scala6
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiPartialUser.scala2
-rw-r--r--src/test/scala/xyz/driver/pdsuicommon/BaseSuite.scala1
-rw-r--r--src/test/scala/xyz/driver/pdsuicommon/utils/DiffUtils.scala9
8 files changed, 1 insertions, 61 deletions
diff --git a/build.sbt b/build.sbt
index 058bfa6..4f3f229 100644
--- a/build.sbt
+++ b/build.sbt
@@ -21,7 +21,6 @@ lazy val core = (project in file("."))
"io.getquill" %% "quill-jdbc" % "1.2.1",
"io.github.cloudify" %% "spdf" % "1.4.0",
"com.github.spullara.mustache.java" % "scala-extensions-2.11" % "0.9.4",
- "de.svenkubiak" % "jBCrypt" % "0.4.1",
"com.google.cloud" % "google-cloud-storage" % "0.9.4-beta",
"com.github.pureconfig" %% "pureconfig" % "0.7.2",
"ai.x" %% "diff" % "1.2.0-get-simple-name-fix" % "test",
diff --git a/src/main/scala/xyz/driver/pdsuicommon/computation/Computation.scala b/src/main/scala/xyz/driver/pdsuicommon/computation/Computation.scala
index af7d051..a9430e3 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/computation/Computation.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/computation/Computation.scala
@@ -75,10 +75,7 @@ final case class Computation[+R, +T](future: Future[Either[R, T]]) {
def mapAll[R2, T2](onLeft: R => Computation[R2, T2])(onRight: T => Computation[R2, T2])(
onFailure: () => Computation[R2, T2])(implicit ec: ExecutionContext): Computation[R2, T2] = {
- Computation(future.flatMap { success =>
- if (success.isRight) onRight(success.right.get).future
- else onLeft(success.left.get).future
- } recoverWith {
+ Computation(future.flatMap(_.fold(onLeft, onRight).future).recoverWith {
case _ => onFailure().future
})
}
diff --git a/src/main/scala/xyz/driver/pdsuicommon/domain/PasswordHash.scala b/src/main/scala/xyz/driver/pdsuicommon/domain/PasswordHash.scala
deleted file mode 100644
index 337d925..0000000
--- a/src/main/scala/xyz/driver/pdsuicommon/domain/PasswordHash.scala
+++ /dev/null
@@ -1,36 +0,0 @@
-package xyz.driver.pdsuicommon.domain
-
-import java.nio.charset.Charset
-
-import org.mindrot.jbcrypt.BCrypt
-
-final case class PasswordHash(value: Array[Byte]) {
-
- lazy val hashString: String = new String(value, Charset.forName("UTF-8"))
-
- override def toString: String = {
- s"${this.getClass.getSimpleName}($hashString)"
- }
-
- override def equals(that: Any): Boolean = {
- that match {
- case thatHash: PasswordHash => java.util.Arrays.equals(this.value, thatHash.value)
- case _ => false
- }
- }
-
- override def hashCode(): Int =
- 42 + java.util.Arrays.hashCode(this.value)
-
- def is(password: String): Boolean =
- BCrypt.checkpw(password, hashString)
-}
-
-object PasswordHash {
-
- def apply(password: String): PasswordHash =
- new PasswordHash(getHash(password))
-
- private def getHash(str: String): Array[Byte] =
- BCrypt.hashpw(str, BCrypt.gensalt()).getBytes(Charset.forName("UTF-8"))
-}
diff --git a/src/main/scala/xyz/driver/pdsuicommon/domain/User.scala b/src/main/scala/xyz/driver/pdsuicommon/domain/User.scala
index 63eef85..b400a71 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/domain/User.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/domain/User.scala
@@ -12,7 +12,6 @@ case class User(id: StringId[User],
email: Email,
name: String,
roles: Set[Role],
- passwordHash: PasswordHash,
latestActivity: Option[LocalDateTime],
deleted: Option[LocalDateTime]) {
@@ -22,7 +21,6 @@ case class User(id: StringId[User],
email = Email(driverUser.email.toString),
name = driverUser.name.toString,
roles = driverUser.roles.flatMap(User.mapRoles),
- passwordHash = PasswordHash(""),
latestActivity =
driverUser.lastLoginTime.map(t => Instant.ofEpochMilli(t.millis).atZone(ZoneId.of("Z")).toLocalDateTime),
deleted = Option.empty[LocalDateTime]
diff --git a/src/main/scala/xyz/driver/pdsuicommon/json/Serialization.scala b/src/main/scala/xyz/driver/pdsuicommon/json/Serialization.scala
index 9800903..8231ddb 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/json/Serialization.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/json/Serialization.scala
@@ -40,12 +40,6 @@ object Serialization {
private val emailJsonWrites: Writes[Email] = Writes(email => JsString(email.value))
implicit val emailJsonFormat: Format[Email] = Format(emailJsonReads, emailJsonWrites)
- private val passwordHashJsonReads: Reads[PasswordHash] =
- Reads.StringReads.map(hash => PasswordHash(hash.getBytes("UTF-8")))
- private val passwordHashJsonWrites: Writes[PasswordHash] = Writes(
- passwordHash => JsString(passwordHash.value.toString))
- implicit val passwordHashJsonFormat: Format[PasswordHash] = Format(passwordHashJsonReads, passwordHashJsonWrites)
-
private val caseIdJsonReads: Reads[CaseId] = Reads.StringReads.map(CaseId(_))
private val caseIdJsonWrites: Writes[CaseId] = Writes(caseId => JsString(caseId.id))
implicit val caseIdJsonFormat: Format[CaseId] = Format(caseIdJsonReads, caseIdJsonWrites)
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiPartialUser.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiPartialUser.scala
index 05395b4..2f476e7 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiPartialUser.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiPartialUser.scala
@@ -9,7 +9,6 @@ import play.api.libs.json._
import scala.collection._
import scala.util.Try
-import User._
import xyz.driver.pdsuicommon.json.JsonValidationException
import xyz.driver.pdsuicommon.json.Serialization.seqJsonFormat
import xyz.driver.pdsuicommon.validation.{AdditionalConstraints, JsonValidationErrors}
@@ -50,7 +49,6 @@ final case class ApiPartialUser(email: Option[String], name: Option[String], rol
email = userEmail,
name = name.get,
roles = roles.toSeq.flatMap(_.map(UserRole.roleFromString)).toSet,
- passwordHash = PasswordHash(createPassword),
latestActivity = None,
deleted = None
)
diff --git a/src/test/scala/xyz/driver/pdsuicommon/BaseSuite.scala b/src/test/scala/xyz/driver/pdsuicommon/BaseSuite.scala
index 54c46c3..7c9d8c4 100644
--- a/src/test/scala/xyz/driver/pdsuicommon/BaseSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuicommon/BaseSuite.scala
@@ -20,7 +20,6 @@ trait BaseSuite extends FreeSpecLike with DiffUtils with ScalaFutures {
email = Email(email),
name = "Test",
roles = Set(role),
- passwordHash = PasswordHash(password),
latestActivity = Some(LocalDateTime.now(ZoneId.of("Z"))),
deleted = None
)
diff --git a/src/test/scala/xyz/driver/pdsuicommon/utils/DiffUtils.scala b/src/test/scala/xyz/driver/pdsuicommon/utils/DiffUtils.scala
index cc2ef0a..156cb08 100644
--- a/src/test/scala/xyz/driver/pdsuicommon/utils/DiffUtils.scala
+++ b/src/test/scala/xyz/driver/pdsuicommon/utils/DiffUtils.scala
@@ -5,7 +5,6 @@ import java.time.{LocalDate, LocalDateTime}
import ai.x.diff._
import org.scalatest.Assertions
-import xyz.driver.pdsuicommon.domain.PasswordHash
import xyz.driver.pdsuidomain.entities.{Document, ExtractedData, MedicalRecord}
import scala.io.AnsiColor
@@ -41,14 +40,6 @@ trait DiffUtils { this: Assertions =>
}
}
- implicit def passwordHashDiffShow: DiffShow[PasswordHash] = new DiffShow[PasswordHash] {
- def show(x: PasswordHash): String = s"PasswordHash($x)"
- def diff(left: PasswordHash, right: PasswordHash): Comparison = {
- if (left.equals(right)) Identical(show(left))
- else Different(showChange(left, right))
- }
- }
-
implicit def metaDiffShow: DiffShow[MedicalRecord.Meta] = new DiffShow[MedicalRecord.Meta] {
def show(x: MedicalRecord.Meta): String = s"MedicalRecord.Meta($x)"
def diff(left: MedicalRecord.Meta, right: MedicalRecord.Meta): Comparison = {