mirror of
https://github.com/revanced/revanced-api.git
synced 2025-04-30 14:44:28 +02:00
41 lines
1.3 KiB
Kotlin
41 lines
1.3 KiB
Kotlin
package app.revanced.api.configuration
|
|
|
|
import app.revanced.api.configuration.repository.ConfigurationRepository
|
|
import app.revanced.api.configuration.routes.*
|
|
import app.revanced.api.configuration.routes.announcementsRoute
|
|
import app.revanced.api.configuration.routes.apiRoute
|
|
import app.revanced.api.configuration.routes.oldApiRoute
|
|
import app.revanced.api.configuration.routes.patchesRoute
|
|
import io.bkbn.kompendium.core.routes.redoc
|
|
import io.bkbn.kompendium.core.routes.swagger
|
|
import io.ktor.http.*
|
|
import io.ktor.server.application.*
|
|
import io.ktor.server.http.content.*
|
|
import io.ktor.server.routing.*
|
|
import kotlin.time.Duration.Companion.minutes
|
|
import org.koin.ktor.ext.get as koinGet
|
|
|
|
internal fun Application.configureRouting() = routing {
|
|
val configuration = koinGet<ConfigurationRepository>()
|
|
|
|
installCache(5.minutes)
|
|
|
|
route("/v${configuration.apiVersion}") {
|
|
announcementsRoute()
|
|
patchesRoute()
|
|
managerRoute()
|
|
apiRoute()
|
|
}
|
|
|
|
staticResources("/", "/app/revanced/api/static/root") {
|
|
contentType { ContentType.Application.Json }
|
|
extensions("json")
|
|
}
|
|
|
|
swagger(pageTitle = "ReVanced API", path = "/")
|
|
redoc(pageTitle = "ReVanced API", path = "/redoc")
|
|
|
|
// TODO: Remove, once migration period from v2 API is over (In 1-2 years).
|
|
oldApiRoute()
|
|
}
|