Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.ctilogic.cvd.acl.api.{AuthType, Credentials}
- import com.ctilogic.cvd.acl.api.CredentialsAPI.{RemoveCredentials, CreateEmailPasswordCredentials}
- import com.ctilogic.cvd.acl.api.REST.SetPasswordRequest
- import com.ctilogic.cvd.common.{HandleAccount, NodeRole, RestRequestProcessor}
- import com.ctilogic.cvd.common.messaging.{SuccessResponse, ErrorResponse}
- class SetPasswordRequestProcessor extends RestRequestProcessor[SetPasswordRequest] with HandleAccount
- {
- import context.become
- override def processRequest = {
- case SetPasswordRequest(accountId, password) if accountId == account.id ⇒
- tellService(NodeRole.ACL, RemoveCredentials(AuthType.EmailPassword, account.email))
- become {
- case SuccessResponse.Ok ⇒
- tellService(NodeRole.ACL, CreateEmailPasswordCredentials(account.id, account.email, password))
- become {
- case r: Credentials ⇒ complete(SuccessResponse.Ok)
- }
- }
- case r ⇒ complete(ErrorResponse.Forbidden)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement