Advertisement
Guest User

Untitled

a guest
Mar 13th, 2015
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.88 KB | None | 0 0
  1.  
  2. class UserActivationRequestProcessor(userDao: UserDAO)
  3.         extends RestRequestProcessor[UserActivationRequest]
  4.         with APIActorHelpers
  5. {
  6.     import context.become
  7.  
  8.     override def processRequest: Receive = {
  9.         case UserActivationRequest(userId, _)
  10.             userDao.find(userId).recover(withErrorResponse(rootRequest)) pipeTo self
  11.             become(waitingUser)
  12.     }
  13.  
  14.     def waitingUser: Receive = {
  15.         case Some(user: User)
  16.             userDao.updateIsActive(user.id, rootRequest.isActive)
  17.                     .map(_ ⇒ SuccessResponse.Ok)
  18.                     .recover(withErrorResponse(rootRequest)) pipeTo self
  19.             become {
  20.                 case SuccessResponse.Ok
  21.                     tellService(NodeRole.ACL, SetAccountActivationStatus(accountId = user.accountId, isActive = rootRequest.isActive))
  22.                     become {
  23.                         case SuccessResponse.Ok
  24.                             complete(SuccessResponse.Ok)
  25.                     }
  26.             }
  27.         case None ⇒ complete(ErrorResponse.NotFound)
  28.     }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement