diff --git a/api/resources/application.dev.yaml b/api/resources/application.dev.yaml new file mode 100644 index 0000000..0912c4f --- /dev/null +++ b/api/resources/application.dev.yaml @@ -0,0 +1,21 @@ +database: + host: localhost + port: 3306 + name: notes + username: notes + password: notes + +server: + host: 127.0.0.1 + port: 8081 + cors: true + +jwt: + secret: 9Io9kvgIedOcLdUvKl31OKf51jdTZcFHJFgqvEpfJuI= # Can be generated with `openssl rand -base64 32` + auth: + validity: 1 + unit: HOURS + refresh: + validity: 15 + unit: DAYS + diff --git a/api/resources/application.yaml b/api/resources/application.prod.yaml similarity index 80% rename from api/resources/application.yaml rename to api/resources/application.prod.yaml index ce067b6..7fc8c2e 100644 --- a/api/resources/application.yaml +++ b/api/resources/application.prod.yaml @@ -1,5 +1,3 @@ -env: staging - database: host: ${MYSQL_HOST} port: 3306 @@ -13,7 +11,7 @@ server: cors: ${CORS:-true} jwt: - secret: ${JWT_SECRET} + secret: ${JWT_SECRET} # Can be generated with `openssl rand -base64 32` auth: validity: 1 unit: HOURS diff --git a/api/resources/logback.xml b/api/resources/logback.xml index 48681f1..d38ae26 100644 --- a/api/resources/logback.xml +++ b/api/resources/logback.xml @@ -8,7 +8,8 @@ - + + diff --git a/api/src/NotesApplication.kt b/api/src/NotesApplication.kt index 2a8c825..7774f5f 100644 --- a/api/src/NotesApplication.kt +++ b/api/src/NotesApplication.kt @@ -32,7 +32,7 @@ fun main() { val config by kodein.instance() val logger by kodein.instance() logger.info("Running application with configuration $config") - logger.info("Kodein bindings\n${kodein.container.tree.bindings.description()}") + logger.debug("Kodein bindings\n${kodein.container.tree.bindings.description()}") val migration by kodein.instance() migration.migrate() serve(kodein) @@ -58,20 +58,8 @@ fun serve(kodein: Kodein) { fun Application.module() { loadFeatures(kodein) - log.debug(kodein.container.tree.bindings.description()) - routing { registerRoutes(kodein) } - val root = feature(Routing) - val allRoutes = allRoutes(root) - allRoutes.forEach { - println(it.toString()) - } - } - -fun allRoutes(root: Route): List { - return listOf(root) + root.children.flatMap { allRoutes(it) } -} \ No newline at end of file diff --git a/api/src/features/ConfigurationFeature.kt b/api/src/features/ConfigurationFeature.kt index 853f9da..b004a4b 100644 --- a/api/src/features/ConfigurationFeature.kt +++ b/api/src/features/ConfigurationFeature.kt @@ -9,6 +9,7 @@ import org.kodein.di.Kodein import org.kodein.di.generic.bind import org.kodein.di.generic.instance import org.kodein.di.generic.singleton +import org.kodein.di.generic.with import java.util.concurrent.TimeUnit import javax.sql.DataSource @@ -16,7 +17,11 @@ import javax.sql.DataSource * [Kodein] controller module containing the app configuration */ val configurationModule = Kodein.Module(name = "Configuration") { - bind() from singleton { ConfigLoader().loadConfigOrThrow("/application.yaml") } + constant("config file") with "/application.dev.yaml" // FIXME + bind() from singleton { + val configFile by this.kodein.instance(tag = "config file") + ConfigLoader().loadConfigOrThrow(configFile) + } bind(tag = "auth") with singleton { configureAuthJwt(this.kodein) } bind(tag = "refresh") with singleton { configureRefreshJwt(this.kodein) } bind() with singleton { configureDatasource(this.kodein) } @@ -58,4 +63,4 @@ private fun configureDatasource(kodein: Kodein): DataSource { } return HikariDataSource(hikariConfig) -} \ No newline at end of file +}