Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class UserActivationRequestProcessor(userDao: UserDAO)
- extends RestRequestProcessor[UserActivationRequest]
- with APIActorHelpers
- {
- import context.become
- override def processRequest: Receive = {
- case UserActivationRequest(userId, _) ⇒
- userDao.find(userId).recover(withErrorResponse(rootRequest)) pipeTo self
- become(waitingUser)
- }
- def waitingUser: Receive = {
- case Some(user: User) ⇒
- userDao.updateIsActive(user.id, rootRequest.isActive)
- .map(_ ⇒ SuccessResponse.Ok)
- .recover(withErrorResponse(rootRequest)) pipeTo self
- become {
- case SuccessResponse.Ok ⇒
- tellService(NodeRole.ACL, SetAccountActivationStatus(accountId = user.accountId, isActive = rootRequest.isActive))
- become {
- case SuccessResponse.Ok ⇒
- complete(SuccessResponse.Ok)
- }
- }
- case None ⇒ complete(ErrorResponse.NotFound)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement