aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/scala/xyz/driver/core/database/Dal.scala7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/core/database/Dal.scala b/src/main/scala/xyz/driver/core/database/Dal.scala
index 55766db..ed72d3b 100644
--- a/src/main/scala/xyz/driver/core/database/Dal.scala
+++ b/src/main/scala/xyz/driver/core/database/Dal.scala
@@ -31,12 +31,17 @@ class FutureDal(executionContext: ExecutionContext) extends Dal {
class SlickDal(database: Database, executionContext: ExecutionContext) extends Dal {
import database.profile.api._
implicit val exec = executionContext
+
override type T[D] = slick.dbio.DBIO[D]
- implicit protected class QueryOps[+E, U](query: Query[E, U, Seq]) {
+ implicit protected class QueryOps[U](query: Query[_, U, Seq]) {
def resultT: ListT[T, U] = ListT[T, U](query.result.map(_.toList))
}
+ implicit protected class CompiledQueryOps[U](compiledQuery: slick.lifted.RunnableCompiled[_, Seq[U]]) {
+ def resultT: ListT[T, U] = ListT.listT[T](compiledQuery.result.map(_.toList))
+ }
+
override implicit val monadT: Monad[T] = new Monad[T] {
override def point[A](a: => A): T[A] = DBIO.successful(a)
override def bind[A, B](fa: T[A])(f: A => T[B]): T[B] = fa.flatMap(f)