Change the representation of computed credit values
[aquarium] / src / main / scala / gr / grnet / aquarium / actor / message / GetUserBalanceResponse.scala
index 790984e..e1158d8 100644 (file)
 
 package gr.grnet.aquarium.actor.message
 
+import gr.grnet.aquarium.AquariumInternalError
+
 /**
  *
  * @author Christos KK Loverdos <loverdos@gmail.com>
  */
 
 case class GetUserBalanceResponse(
-    userID: String,
-    balance: Either[String, Double])
-extends RouterResponseMessage(balance)
+    balance: Either[String, GetUserBalanceResponseData],
+    override val suggestedHTTPStatus: Int = 200)
+extends UserActorResponseMessage(balance, suggestedHTTPStatus) {
+  def userID = balance match {
+    case Left(error) ⇒
+      throw new AquariumInternalError("Could not obtain userID. %s".format(error))
+
+    case Right(data) ⇒
+      data.userID
+  }
+}
+
+case class GetUserBalanceResponseData(userID: String, balance: String)