aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/common/auth/AuthenticatedRequestContext.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/common/auth/AuthenticatedRequestContext.scala')
-rw-r--r--src/main/scala/xyz/driver/common/auth/AuthenticatedRequestContext.scala32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/common/auth/AuthenticatedRequestContext.scala b/src/main/scala/xyz/driver/common/auth/AuthenticatedRequestContext.scala
new file mode 100644
index 0000000..b211e12
--- /dev/null
+++ b/src/main/scala/xyz/driver/common/auth/AuthenticatedRequestContext.scala
@@ -0,0 +1,32 @@
+package xyz.driver.common.auth
+
+import xyz.driver.common.logging._
+import xyz.driver.common.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})"
+ }
+
+}