From cbd5b4c6cdc26ed181a1c6bd5a5b6107e8e50671 Mon Sep 17 00:00:00 2001 From: Stewart Stewart Date: Tue, 9 May 2017 18:17:18 -0400 Subject: add resultT to compiled query ops --- src/main/scala/xyz/driver/core/database/Dal.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/main/scala/xyz/driver/core/database/Dal.scala') 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) -- cgit v1.2.3