Skip to content

Commit

Permalink
fix: Add back deprecated routes for backwards compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
oSumAtrIX committed Sep 6, 2024
1 parent d2575d5 commit 9f0eb5b
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,26 @@ import io.ktor.server.routing.*
import org.koin.ktor.ext.get as koinGet

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>()

installManagerRouteDocumentation()
installManagerRouteDocumentation(deprecated)

rateLimit(RateLimitName("weak")) {
get {
call.respond(managerService.latestRelease())
}

route("version") {
installManagerVersionRouteDocumentation()
installManagerVersionRouteDocumentation(deprecated)

get {
call.respond(managerService.latestVersion())
Expand All @@ -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")

get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the current manager release")
summary("Get current manager release")
response {
Expand All @@ -48,10 +58,11 @@ private fun Route.installManagerRouteDocumentation() = installNotarizedRoute {
}
}

private fun Route.installManagerVersionRouteDocumentation() = installNotarizedRoute {
private fun Route.installManagerVersionRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
tags = setOf("Manager")

get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the current manager release version")
summary("Get current manager release version")
response {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,26 @@ import kotlin.time.Duration.Companion.days
import org.koin.ktor.ext.get as koinGet

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>()

installPatchesRouteDocumentation()
installPatchesRouteDocumentation(deprecated)

rateLimit(RateLimitName("weak")) {
get {
call.respond(patchesService.latestRelease())
}

route("version") {
installPatchesVersionRouteDocumentation()
installPatchesVersionRouteDocumentation(deprecated)

get {
call.respond(patchesService.latestVersion())
Expand All @@ -37,7 +46,7 @@ internal fun Route.patchesRoute() = route("patches") {

rateLimit(RateLimitName("strong")) {
route("list") {
installPatchesListRouteDocumentation()
installPatchesListRouteDocumentation(deprecated)

get {
call.respondBytes(ContentType.Application.Json) { patchesService.list() }
Expand All @@ -49,7 +58,7 @@ internal fun Route.patchesRoute() = route("patches") {
route("keys") {
installCache(356.days)

installPatchesPublicKeyRouteDocumentation()
installPatchesPublicKeyRouteDocumentation(deprecated)

get {
call.respond(patchesService.publicKeys())
Expand All @@ -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")

get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the current patches release")
summary("Get current patches release")
response {
Expand All @@ -73,10 +83,11 @@ private fun Route.installPatchesRouteDocumentation() = installNotarizedRoute {
}
}

private fun Route.installPatchesVersionRouteDocumentation() = installNotarizedRoute {
private fun Route.installPatchesVersionRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
tags = setOf("Patches")

get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the current patches release version")
summary("Get current patches release version")
response {
Expand All @@ -88,10 +99,11 @@ private fun Route.installPatchesVersionRouteDocumentation() = installNotarizedRo
}
}

private fun Route.installPatchesListRouteDocumentation() = installNotarizedRoute {
private fun Route.installPatchesListRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
tags = setOf("Patches")

get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the list of patches from the current patches release")
summary("Get list of patches from current patches release")
response {
Expand All @@ -103,10 +115,11 @@ private fun Route.installPatchesListRouteDocumentation() = installNotarizedRoute
}
}

private fun Route.installPatchesPublicKeyRouteDocumentation() = installNotarizedRoute {
private fun Route.installPatchesPublicKeyRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
tags = setOf("Patches")

get = GetInfo.builder {
if (deprecated) isDeprecated()
description("Get the public keys for verifying patches and integrations assets")
summary("Get patches and integrations public keys")
response {
Expand Down

0 comments on commit 9f0eb5b

Please sign in to comment.