diff options
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuicommon/auth/AuthenticatedRequestContext.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuicommon/auth/AuthenticatedRequestContext.scala | 30 |
1 files changed, 30 insertions, 0 deletions
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})" + } +} |