All Downloads are FREE. Search and download functionalities are using the official Maven repository.

im.actor.server.cli.HttpCliService.scala Maven / Gradle / Ivy

There is a newer version: 3.0.0
Show newest version
package im.actor.server.cli

import akka.actor.{ Props, Actor }
import akka.cluster.client.ClusterClientReceptionist
import akka.pattern.pipe
import im.actor.server.acl.ACLUtils
import im.actor.server.db.DbExtension
import im.actor.server.persist.HttpApiTokenRepo

object HttpCliService {
  def props = Props(new HttpCliService)
}

final class HttpCliService extends Actor {
  import context.dispatcher

  ClusterClientReceptionist(context.system).registerService(self)

  private val db = DbExtension(context.system).db

  def receive = {
    case HttpApiTokenCreate(isAdmin) ⇒
      val token = ACLUtils.accessToken()
      (for {
        _ ← db.run(HttpApiTokenRepo.create(token, isAdmin = isAdmin))
      } yield HttpApiTokenCreateResponse(token)) pipeTo sender()
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy