diff --git a/.gitignore b/.gitignore index 42a03c5..3c63787 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ bin/ ### Mac OS ### .DS_Store .idea/.name +*.log diff --git a/build.gradle.kts b/build.gradle.kts index f2b1945..cef2a10 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,6 +9,10 @@ plugins { kotlin("plugin.serialization") version "1.9.23" // Aggiungi il plugin di Serialization } +application { + mainClass.set("eu.maiora.ApplicationKt") +} + group = "org.maiora" version = "1.0-SNAPSHOT" diff --git a/src/main/kotlin/eu/maiora/Application.kt b/src/main/kotlin/eu/maiora/Application.kt index d82eece..4e693fc 100644 --- a/src/main/kotlin/eu/maiora/Application.kt +++ b/src/main/kotlin/eu/maiora/Application.kt @@ -9,21 +9,26 @@ import io.ktor.server.engine.* import io.ktor.server.netty.* import io.ktor.server.plugins.callloging.* import io.ktor.server.plugins.cors.routing.* +import java.io.FileInputStream +import java.util.* fun main() { - embeddedServer(Netty, port = 8098, host = "0.0.0.0", module = Application::module) - .start(wait = true) + val properties = loadConfig() + val port = properties.getProperty("server.port").toInt() + embeddedServer(Netty, port = port, host = "0.0.0.0") { + module(properties) + }.start(wait = true) } -fun Application.module() { +fun Application.module(configFile: Properties) { val config = ApplicationConfig("application.conf") - val dbUrl = config.property("ktor.database.url").getString() - val username = config.property("ktor.database.username").getString() - val password = config.property("ktor.database.password").getString() + val dbUrl = configFile.getProperty("ktor.database.url") + val username = configFile.getProperty("ktor.database.username") + val password = configFile.getProperty("ktor.database.password") val secret = config.property("ktor.jwt.secret").getString() configureDatabases(dbUrl, username, password) configureSecurity(secret) - configureRouting(dbUrl, username, password) + configureRouting() configureSerialization() install(CallLogging) @@ -39,3 +44,10 @@ fun Application.module() { allowMethod(HttpMethod.Delete) } } + +fun loadConfig(): Properties { + val properties = Properties() + val inputStream = FileInputStream("/home/backend_api/config.properties") + properties.load(inputStream) + return properties +} diff --git a/src/main/kotlin/eu/maiora/plugins/Routing.kt b/src/main/kotlin/eu/maiora/plugins/Routing.kt index 37967f5..bed0c84 100644 --- a/src/main/kotlin/eu/maiora/plugins/Routing.kt +++ b/src/main/kotlin/eu/maiora/plugins/Routing.kt @@ -1,9 +1,5 @@ package eu.maiora.plugins -//import eu.maiora.model.LogScriptRepositoryImpl -//import eu.maiora.routes.analizzaURLRoute -//import eu.maiora.routes.eseguiScriptSQLRoute -//import eu.maiora.routes.logScriptRouting import eu.maiora.model.AccountsRepositoryImpl import eu.maiora.model.MovimentiRepositoryImpl import eu.maiora.model.ParametriRepositoryImpl @@ -15,8 +11,7 @@ import io.ktor.server.application.* import io.ktor.server.response.* import io.ktor.server.routing.* -//fun Application.configureRouting(dbUrl : String, username : String, password : String, repository : LogScriptRepositoryImpl ) { -fun Application.configureRouting(dbUrl : String, username : String, password : String) { +fun Application.configureRouting() { routing { get("/") { call.respondText("Hello World!") diff --git a/src/main/kotlin/eu/maiora/routes/Auth.kt b/src/main/kotlin/eu/maiora/routes/Auth.kt index c6a2cbb..0443947 100644 --- a/src/main/kotlin/eu/maiora/routes/Auth.kt +++ b/src/main/kotlin/eu/maiora/routes/Auth.kt @@ -16,7 +16,7 @@ import java.util.* fun Route.auth(accountsRepository: AccountsRepositoryImpl) { - route("/auth") { + route("/api/auth") { post() { // Riceve il body della richiesta e lo deserializza in ReceivedResponse val receivedResponse = try { diff --git a/src/main/resources/application.conf b/src/main/resources/application.conf index 2037c99..8d1e65d 100644 --- a/src/main/resources/application.conf +++ b/src/main/resources/application.conf @@ -1,18 +1,4 @@ ktor { - database { -; url = "jdbc:postgresql://192.168.20.49:5432/caritas" -; username = "caritas" -; password = "caritas" -; driver = "org.postgresql.Driver" - driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver" - url = "jdbc:sqlserver://192.168.20.45;databaseName=EP_FAER;integratedSecurity=false;encrypt=true;trustServerCertificate=true;" - username = "SA" - password = "I5fz9l1a" - ;driver = "oracle.jdbc.OracleDriver" - ;url = "jdbc:oracle:thin:@//192.168.20.101:1521/SIR" - ;username = "EP_DONORIONE" - ;password = "ep_donorione" - } jwt { # secret per JWT generato partendo dalla stringa '?Backend_API*06022025!' codificato in Base64 secret = "P0JhY2tlbmRfQVBJKjA2MDIyMDI1IQ==" diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml new file mode 100644 index 0000000..9714b07 --- /dev/null +++ b/src/main/resources/logback.xml @@ -0,0 +1,19 @@ + + + + %d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + ./logFile.log + true + + %d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + \ No newline at end of file