aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuicommon/auth
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-06-13 16:12:20 -0700
committervlad <vlad@driver.xyz>2017-06-13 16:12:20 -0700
commitcd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c (patch)
tree062e8dad1a1513e26b0fd08b1742d6ff2ee874f7 /src/main/scala/xyz/driver/pdsuicommon/auth
parent0000a65ab4479a2a40e2d6468036438e9705b4aa (diff)
downloadrest-query-cd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c.tar.gz
rest-query-cd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c.tar.bz2
rest-query-cd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c.zip
Adding domain entitiesv0.1.0
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/auth')
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/auth/AnonymousRequestContext.scala11
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/auth/AuthenticatedRequestContext.scala30
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/auth/RequestId.scala14
3 files changed, 55 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/auth/AnonymousRequestContext.scala b/src/main/scala/xyz/driver/pdsuicommon/auth/AnonymousRequestContext.scala
new file mode 100644
index 0000000..7b223ef
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuicommon/auth/AnonymousRequestContext.scala
@@ -0,0 +1,11 @@
+package xyz.driver.pdsuicommon.auth
+
+class AnonymousRequestContext(val requestId: RequestId) {
+
+ override def equals(that: Any): Boolean = {
+ that.getClass == classOf[AnonymousRequestContext] &&
+ that.asInstanceOf[AnonymousRequestContext].requestId == requestId
+ }
+
+ override def hashCode(): Int = requestId.hashCode()
+}
diff --git a/src/main/scala/xyz/driver/pdsuicommon/auth/AuthenticatedRequestContext.scala b/src/main/scala/xyz/driver/pdsuicommon/auth/AuthenticatedRequestContext.scala
new file mode 100644
index 0000000..0f5de30
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuicommon/auth/AuthenticatedRequestContext.scala
@@ -0,0 +1,30 @@
+package xyz.driver.pdsuicommon.auth
+
+import xyz.driver.pdsuicommon.logging._
+import xyz.driver.pdsuicommon.domain.User
+
+class AuthenticatedRequestContext(val executor: User,
+ override val requestId: RequestId) extends AnonymousRequestContext(requestId) {
+
+ override def equals(that: Any): Boolean = {
+ that.getClass == this.getClass && {
+ val another = that.asInstanceOf[AuthenticatedRequestContext]
+ another.executor == executor && another.requestId == requestId
+ }
+ }
+
+ override def hashCode(): Int = {
+ val initial = 37
+ val first = initial * 17 + executor.hashCode()
+ first * 17 + requestId.hashCode()
+ }
+}
+
+object AuthenticatedRequestContext {
+
+ def apply(executor: User) = new AuthenticatedRequestContext(executor, RequestId())
+
+ implicit def toPhiString(x: AuthenticatedRequestContext): PhiString = {
+ phi"AuthenticatedRequestContext(executor=${x.executor}, requestId=${x.requestId})"
+ }
+}
diff --git a/src/main/scala/xyz/driver/pdsuicommon/auth/RequestId.scala b/src/main/scala/xyz/driver/pdsuicommon/auth/RequestId.scala
new file mode 100644
index 0000000..9982bb0
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuicommon/auth/RequestId.scala
@@ -0,0 +1,14 @@
+package xyz.driver.pdsuicommon.auth
+
+import xyz.driver.pdsuicommon.logging._
+import xyz.driver.pdsuicommon.auth.RequestId._
+import xyz.driver.pdsuicommon.utils.RandomUtils
+
+final case class RequestId(value: String = RandomUtils.randomString(IdLength))
+
+object RequestId {
+
+ private val IdLength = 20
+
+ implicit def toPhiString(x: RequestId): PhiString = phi"RequestId(${Unsafe(x.value)})"
+}