fix: Add back deprecated routes for backwards compatibility

This commit is contained in:
oSumAtrIX 2024-09-06 12:25:10 +04:00
parent d2575d5191
commit 9f0eb5bfe9
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4
2 changed files with 36 additions and 12 deletions

View File

@ -14,9 +14,18 @@ import io.ktor.server.routing.*
import org.koin.ktor.ext.get as koinGet import org.koin.ktor.ext.get as koinGet
internal fun Route.managerRoute() = route("manager") { internal fun Route.managerRoute() = route("manager") {
configure()
// TODO: Remove this deprecated route eventually.
route("latest") {
configure(deprecated = true)
}
}
private fun Route.configure(deprecated: Boolean = false) {
val managerService = koinGet<ManagerService>() val managerService = koinGet<ManagerService>()
installManagerRouteDocumentation() installManagerRouteDocumentation(deprecated)
rateLimit(RateLimitName("weak")) { rateLimit(RateLimitName("weak")) {
get { get {
@ -24,7 +33,7 @@ internal fun Route.managerRoute() = route("manager") {
} }
route("version") { route("version") {
installManagerVersionRouteDocumentation() installManagerVersionRouteDocumentation(deprecated)
get { get {
call.respond(managerService.latestVersion()) call.respond(managerService.latestVersion())
@ -33,10 +42,11 @@ internal fun Route.managerRoute() = route("manager") {
} }
} }
private fun Route.installManagerRouteDocumentation() = installNotarizedRoute { private fun Route.installManagerRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
tags = setOf("Manager") tags = setOf("Manager")
get = GetInfo.builder { get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the current manager release") description("Get the current manager release")
summary("Get current manager release") summary("Get current manager release")
response { response {
@ -48,10 +58,11 @@ private fun Route.installManagerRouteDocumentation() = installNotarizedRoute {
} }
} }
private fun Route.installManagerVersionRouteDocumentation() = installNotarizedRoute { private fun Route.installManagerVersionRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
tags = setOf("Manager") tags = setOf("Manager")
get = GetInfo.builder { get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the current manager release version") description("Get the current manager release version")
summary("Get current manager release version") summary("Get current manager release version")
response { response {

View File

@ -17,9 +17,18 @@ import kotlin.time.Duration.Companion.days
import org.koin.ktor.ext.get as koinGet import org.koin.ktor.ext.get as koinGet
internal fun Route.patchesRoute() = route("patches") { internal fun Route.patchesRoute() = route("patches") {
configure()
// TODO: Remove this deprecated route eventually.
route("latest") {
configure(deprecated = true)
}
}
private fun Route.configure(deprecated: Boolean = false) {
val patchesService = koinGet<PatchesService>() val patchesService = koinGet<PatchesService>()
installPatchesRouteDocumentation() installPatchesRouteDocumentation(deprecated)
rateLimit(RateLimitName("weak")) { rateLimit(RateLimitName("weak")) {
get { get {
@ -27,7 +36,7 @@ internal fun Route.patchesRoute() = route("patches") {
} }
route("version") { route("version") {
installPatchesVersionRouteDocumentation() installPatchesVersionRouteDocumentation(deprecated)
get { get {
call.respond(patchesService.latestVersion()) call.respond(patchesService.latestVersion())
@ -37,7 +46,7 @@ internal fun Route.patchesRoute() = route("patches") {
rateLimit(RateLimitName("strong")) { rateLimit(RateLimitName("strong")) {
route("list") { route("list") {
installPatchesListRouteDocumentation() installPatchesListRouteDocumentation(deprecated)
get { get {
call.respondBytes(ContentType.Application.Json) { patchesService.list() } call.respondBytes(ContentType.Application.Json) { patchesService.list() }
@ -49,7 +58,7 @@ internal fun Route.patchesRoute() = route("patches") {
route("keys") { route("keys") {
installCache(356.days) installCache(356.days)
installPatchesPublicKeyRouteDocumentation() installPatchesPublicKeyRouteDocumentation(deprecated)
get { get {
call.respond(patchesService.publicKeys()) call.respond(patchesService.publicKeys())
@ -58,10 +67,11 @@ internal fun Route.patchesRoute() = route("patches") {
} }
} }
private fun Route.installPatchesRouteDocumentation() = installNotarizedRoute { private fun Route.installPatchesRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
tags = setOf("Patches") tags = setOf("Patches")
get = GetInfo.builder { get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the current patches release") description("Get the current patches release")
summary("Get current patches release") summary("Get current patches release")
response { response {
@ -73,10 +83,11 @@ private fun Route.installPatchesRouteDocumentation() = installNotarizedRoute {
} }
} }
private fun Route.installPatchesVersionRouteDocumentation() = installNotarizedRoute { private fun Route.installPatchesVersionRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
tags = setOf("Patches") tags = setOf("Patches")
get = GetInfo.builder { get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the current patches release version") description("Get the current patches release version")
summary("Get current patches release version") summary("Get current patches release version")
response { response {
@ -88,10 +99,11 @@ private fun Route.installPatchesVersionRouteDocumentation() = installNotarizedRo
} }
} }
private fun Route.installPatchesListRouteDocumentation() = installNotarizedRoute { private fun Route.installPatchesListRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
tags = setOf("Patches") tags = setOf("Patches")
get = GetInfo.builder { get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the list of patches from the current patches release") description("Get the list of patches from the current patches release")
summary("Get list of patches from current patches release") summary("Get list of patches from current patches release")
response { response {
@ -103,10 +115,11 @@ private fun Route.installPatchesListRouteDocumentation() = installNotarizedRoute
} }
} }
private fun Route.installPatchesPublicKeyRouteDocumentation() = installNotarizedRoute { private fun Route.installPatchesPublicKeyRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
tags = setOf("Patches") tags = setOf("Patches")
get = GetInfo.builder { get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the public keys for verifying patches and integrations assets") description("Get the public keys for verifying patches and integrations assets")
summary("Get patches and integrations public keys") summary("Get patches and integrations public keys")
response { response {