initial commit

This commit is contained in:
2022-05-04 14:28:52 -04:00
commit 883979c30c
14 changed files with 507 additions and 0 deletions

View File

@ -0,0 +1,19 @@
package com.wyattjmiller
import io.ktor.server.application.*
import com.wyattjmiller.plugins.*
import com.wyattjmiller.routes.RecipeRoute.Companion.recipeRoutes
import io.ktor.server.config.*
fun main(args: Array<String>): Unit =
io.ktor.server.netty.EngineMain.main(args)
@Suppress("unused") // application.conf references the main function. This annotation prevents the IDE from marking it as unused.
fun Application.module() {
//val config = this.environment.config
configureRouting()
configureSerialization()
recipeRoutes()
}

View File

@ -0,0 +1,10 @@
package com.wyattjmiller.plugins
import io.ktor.server.routing.*
import io.ktor.server.application.*
fun Application.configureRouting() {
routing {
}
}

View File

@ -0,0 +1,19 @@
package com.wyattjmiller.plugins
import io.ktor.serialization.kotlinx.json.*
import io.ktor.server.application.*
import io.ktor.server.plugins.contentnegotiation.*
import io.ktor.server.response.*
import io.ktor.server.routing.*
fun Application.configureSerialization() {
install(ContentNegotiation) {
json()
}
routing {
get("/json/kotlinx-serialization") {
call.respond(mapOf("hello" to "world"))
}
}
}

View File

@ -0,0 +1,19 @@
ktor {
#development = true
deployment {
port = 8080
port = ${?PORT}
}
application {
modules = [ com.wyattjmiller.ApplicationKt.module ]
}
}
storage {
ipAddress = "10.10.10.21"
port = "5432"
driverClassName = "org.postgresql.Driver"
jdbcURL = "jdbc:postgresql://10.10.10.21:5432/recipefolio"
dbUser = "wyatt"
dbPasswd = "wjm"
}

View File

@ -0,0 +1,12 @@
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="trace">
<appender-ref ref="STDOUT"/>
</root>
<logger name="org.eclipse.jetty" level="INFO"/>
<logger name="io.netty" level="INFO"/>
</configuration>

View File

@ -0,0 +1,21 @@
package com.wyattjmiller
import io.ktor.http.*
import io.ktor.client.request.*
import io.ktor.client.statement.*
import kotlin.test.*
import io.ktor.server.testing.*
import com.wyattjmiller.plugins.*
class ApplicationTest {
@Test
fun testRoot() = testApplication {
application {
configureRouting()
}
client.get("/").apply {
assertEquals(HttpStatusCode.OK, status)
assertEquals("Hello World!", bodyAsText())
}
}
}