Change Kotlin's API (1.4.11 to 1.9.10) and add swagger (not working actually)
continuous-integration/drone/push Build is passing Details

pull/12/head
Lucas EVARD 1 year ago
parent be3885a040
commit 07e58ece6f

@ -12,8 +12,7 @@
<serialization.version>1.5.0</serialization.version>
<ktor_version>2.3.4</ktor_version>
<kotlin.code.style>official</kotlin.code.style>
<kotlin_version>1.9.10</kotlin_version>
<logback_version>1.4.11</logback_version>
<logback_version>1.4.14</logback_version>
<slf4j_version>2.0.9</slf4j_version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<kotlin.compiler.incremental>true</kotlin.compiler.incremental>
@ -42,6 +41,16 @@
<artifactId>ktor-server-netty-jvm</artifactId>
<version>${ktor_version}</version>
</dependency>
<dependency>
<groupId>io.github.smiley4</groupId>
<artifactId>ktor-swagger-ui</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>io.ktor</groupId>
<artifactId>ktor-server-swagger-jvm</artifactId>
<version>${ktor_version}</version>
</dependency>
<dependency>
<groupId>org.ktorm</groupId>
<artifactId>ktorm-core</artifactId>
@ -101,7 +110,7 @@
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test-junit</artifactId>
<version>${kotlin_version}</version>
<version>${kotlin.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@ -120,6 +129,11 @@
<artifactId>ktor-server-auth-jvm</artifactId>
<version>2.3.4</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
@ -130,6 +144,11 @@
<artifactId>ktor-server-auth-jwt-jvm</artifactId>
<version>2.3.4</version>
</dependency>
<dependency>
<groupId>io.swagger.codegen.v3</groupId>
<artifactId>swagger-codegen-generators</artifactId>
<version>1.0.38</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
@ -143,7 +162,7 @@
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin_version}</version>
<version>${kotlin.version}</version>
<configuration>
<jvmTarget>1.8</jvmTarget>
</configuration>

@ -8,6 +8,9 @@ import allin.utils.TokenManager
import allin.utils.TokenManager.Companion.Claims.USERNAME
import allin.utils.kronJob
import com.typesafe.config.ConfigFactory
import io.github.smiley4.ktorswaggerui.SwaggerUI
import io.github.smiley4.ktorswaggerui.data.SwaggerUiSort
import io.github.smiley4.ktorswaggerui.data.SwaggerUiSyntaxHighlight
import io.ktor.serialization.kotlinx.json.*
import io.ktor.server.application.*
import io.ktor.server.auth.*
@ -17,6 +20,7 @@ import io.ktor.server.engine.*
import io.ktor.server.netty.*
import io.ktor.server.plugins.contentnegotiation.*
import java.time.ZonedDateTime
import kotlin.time.Duration.Companion.minutes
import kotlin.time.ExperimentalTime
import kotlin.time.minutes
@ -56,6 +60,28 @@ private fun Application.extracted() {
}
}
install(ContentNegotiation) { json() }
install(SwaggerUI){
swagger {
forwardRoot = false
swaggerUrl = "swagger"
rootHostPath = "http://127.0.0.1:8080/"
authentication = "MySwaggerAuth"
onlineSpecValidator()
displayOperationId = true
showTagFilterInput = true
sort = SwaggerUiSort.HTTP_METHOD
syntaxHighlight = SwaggerUiSyntaxHighlight.MONOKAI
}
info {
title = "Allin API"
version = "latest"
description = "Allin API"
license {
name = "Apache 2.0"
url = "https://www.apache.org/licenses/LICENSE-2.0.html"
}
}
}
BasicRouting()
UserRouter()

@ -10,7 +10,7 @@ fun kronJob(duration: Duration, action: () -> Unit) =
withContext(Dispatchers.IO) {
while (true) {
runCatching { action() }
delay(duration.toLongMilliseconds())
delay(duration.inWholeMilliseconds)
}
}
}
}

@ -0,0 +1,10 @@
swagger: "2.0"
info:
title: Allin API
description: Title
version: 4.0.0
host: www.Allin.fr
schemes:
- https
paths: "src/main/kotlin/allin"
Loading…
Cancel
Save