mirror of
https://github.com/ysoftdevs/odc-analyzer.git
synced 2026-01-13 15:23:59 +01:00
37 lines
1.3 KiB
Scala
37 lines
1.3 KiB
Scala
package services
|
|
|
|
import javax.inject.Inject
|
|
|
|
import com.mohiva.play.silhouette.impl.authenticators.CookieAuthenticator
|
|
import com.mohiva.play.silhouette.impl.daos.AuthenticatorDAO
|
|
import play.api.db.slick.{HasDatabaseConfigProvider, DatabaseConfigProvider}
|
|
import models.tables._
|
|
|
|
import scala.concurrent.{Future, ExecutionContext}
|
|
|
|
|
|
class TokenService @Inject() (protected val dbConfigProvider: DatabaseConfigProvider)(implicit executionContext: ExecutionContext)
|
|
extends AuthenticatorDAO[CookieAuthenticator]
|
|
with HasDatabaseConfigProvider[models.profile.type]{
|
|
import dbConfig.driver.api._
|
|
|
|
println(authTokens.schema.create.statements.toIndexedSeq)
|
|
|
|
override def find(id: String): Future[Option[CookieAuthenticator]] = {
|
|
db.run(authTokens.filter(_.id === id).result).map{_.headOption}
|
|
}
|
|
|
|
override def add(authenticator: CookieAuthenticator): Future[CookieAuthenticator] = {
|
|
db.run(authTokens += authenticator).map(_ => authenticator)
|
|
}
|
|
|
|
override def remove(id: String): Future[Unit] = {
|
|
db.run(authTokens.filter(_.id === id).delete).map(_ => ())
|
|
}
|
|
|
|
override def update(authenticator: CookieAuthenticator): Future[CookieAuthenticator] = {
|
|
db.run(authTokens.filter(_.id === authenticator.id).update(authenticator)).map(_ => authenticator)
|
|
}
|
|
|
|
}
|