diff options
author | vlad <vlad@driver.xyz> | 2017-11-08 04:09:28 -0800 |
---|---|---|
committer | vlad <vlad@driver.xyz> | 2017-11-08 04:09:28 -0800 |
commit | 56f7aa3b6a45d4309cc2c77fcac7e6fda5f45e55 (patch) | |
tree | adcb1cd20ec844a575f088b29a17236e335273c7 /src/main/scala/xyz/driver/core/app/module.scala | |
parent | 101c451480649c6d4aa8efb0294adf439512f8be (diff) | |
download | driver-core-56f7aa3b6a45d4309cc2c77fcac7e6fda5f45e55.tar.gz driver-core-56f7aa3b6a45d4309cc2c77fcac7e6fda5f45e55.tar.bz2 driver-core-56f7aa3b6a45d4309cc2c77fcac7e6fda5f45e55.zip |
App initialization convenience methods
Diffstat (limited to 'src/main/scala/xyz/driver/core/app/module.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/app/module.scala | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/app/module.scala b/src/main/scala/xyz/driver/core/app/module.scala index bbb29f4..a70e97a 100644 --- a/src/main/scala/xyz/driver/core/app/module.scala +++ b/src/main/scala/xyz/driver/core/app/module.scala @@ -3,7 +3,9 @@ package xyz.driver.core.app import akka.http.scaladsl.model.StatusCodes import akka.http.scaladsl.server.Directives.complete import akka.http.scaladsl.server.{Route, RouteConcatenation} +import com.typesafe.config.Config import com.typesafe.scalalogging.Logger +import xyz.driver.core.database.Database import xyz.driver.core.rest.{DriverRoute, NoServiceDiscovery, SavingUsedServiceDiscovery, ServiceDiscovery} import scala.reflect.runtime.universe._ @@ -36,6 +38,22 @@ class SimpleModule(override val name: String, theRoute: Route, routeType: Type) override def routeTypes: Seq[Type] = Seq(routeType) } +trait SingleDatabaseModule { self: Module => + + val databaseName: String + val config: Config + + val database = Database.fromConfig(config, databaseName) + + override def deactivate(): Unit = { + try { + database.database.close() + } finally { + self.deactivate() + } + } +} + /** * Module implementation which may be used to compose multiple modules * |