diff options
author | vlad <vlad@driver.xyz> | 2017-02-15 14:53:13 -0800 |
---|---|---|
committer | vlad <vlad@driver.xyz> | 2017-02-15 14:53:13 -0800 |
commit | 0599531b1961d03cf251ff3b7c4c94ec65e37c57 (patch) | |
tree | 2d1eabd2717217c50c94077f45c2e3f7fbbe679d | |
parent | 2d0e9dfc805615c9694555ad96f70284ec8c0529 (diff) | |
download | driver-core-0599531b1961d03cf251ff3b7c4c94ec65e37c57.tar.gz driver-core-0599531b1961d03cf251ff3b7c4c94ec65e37c57.tar.bz2 driver-core-0599531b1961d03cf251ff3b7c4c94ec65e37c57.zip |
Allowing to configure application config path from environment variable and adding some handy methods to SlickDalv0.10.9
-rw-r--r-- | src/main/scala/xyz/driver/core/config.scala | 2 | ||||
-rw-r--r-- | src/main/scala/xyz/driver/core/database/Dal.scala | 12 |
2 files changed, 12 insertions, 2 deletions
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 + } } |