From 0599531b1961d03cf251ff3b7c4c94ec65e37c57 Mon Sep 17 00:00:00 2001 From: vlad Date: Wed, 15 Feb 2017 14:53:13 -0800 Subject: Allowing to configure application config path from environment variable and adding some handy methods to SlickDal --- src/main/scala/xyz/driver/core/config.scala | 2 +- src/main/scala/xyz/driver/core/database/Dal.scala | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src/main/scala/xyz/driver/core') diff --git a/src/main/scala/xyz/driver/core/config.scala b/src/main/scala/xyz/driver/core/config.scala index 112986e..be81408 100644 --- a/src/main/scala/xyz/driver/core/config.scala +++ b/src/main/scala/xyz/driver/core/config.scala @@ -8,7 +8,7 @@ object config { def loadDefaultConfig: Config = { val configDefaults = ConfigFactory.load(this.getClass.getClassLoader, "application.conf") - scala.sys.props.get("application.config") match { + scala.sys.env.get("APPLICATION_CONFIG").orElse(scala.sys.props.get("application.config")) match { case Some(filename) => val configFile = new File(filename) diff --git a/src/main/scala/xyz/driver/core/database/Dal.scala b/src/main/scala/xyz/driver/core/database/Dal.scala index 0d38282..d863e50 100644 --- a/src/main/scala/xyz/driver/core/database/Dal.scala +++ b/src/main/scala/xyz/driver/core/database/Dal.scala @@ -1,7 +1,8 @@ package xyz.driver.core.database -import scala.concurrent.{ExecutionContext, Future} +import slick.lifted.AbstractTable +import scala.concurrent.{ExecutionContext, Future} import scalaz.{ListT, Monad} import scalaz.std.scalaFuture._ @@ -44,4 +45,13 @@ class SlickDal(database: Database, executionContext: ExecutionContext) extends D override def noAction[V](v: V): T[V] = DBIO.successful(v) override def customAction[R](action: => Future[R]): T[R] = DBIO.from(action) + + def affectsRows(updatesCount: Int): Option[Unit] = { + if (updatesCount > 0) Some(()) else None + } + + def insertReturning[AT <: AbstractTable[_], V](table: TableQuery[AT])( + row: AT#TableElementType): slick.dbio.DBIO[AT#TableElementType] = { + table.returning(table) += row + } } -- cgit v1.2.3