Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 9f0eb5b

Browse files
committedSep 6, 2024··
fix: Add back deprecated routes for backwards compatibility
1 parent d2575d5 commit 9f0eb5b

File tree

2 files changed

+36
-12
lines changed

2 files changed

+36
-12
lines changed
 

‎src/main/kotlin/app/revanced/api/configuration/routes/ManagerRoute.kt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,26 @@ import io.ktor.server.routing.*
1414
import org.koin.ktor.ext.get as koinGet
1515

1616
internal fun Route.managerRoute() = route("manager") {
17+
configure()
18+
19+
// TODO: Remove this deprecated route eventually.
20+
route("latest") {
21+
configure(deprecated = true)
22+
}
23+
}
24+
25+
private fun Route.configure(deprecated: Boolean = false) {
1726
val managerService = koinGet<ManagerService>()
1827

19-
installManagerRouteDocumentation()
28+
installManagerRouteDocumentation(deprecated)
2029

2130
rateLimit(RateLimitName("weak")) {
2231
get {
2332
call.respond(managerService.latestRelease())
2433
}
2534

2635
route("version") {
27-
installManagerVersionRouteDocumentation()
36+
installManagerVersionRouteDocumentation(deprecated)
2837

2938
get {
3039
call.respond(managerService.latestVersion())
@@ -33,10 +42,11 @@ internal fun Route.managerRoute() = route("manager") {
3342
}
3443
}
3544

36-
private fun Route.installManagerRouteDocumentation() = installNotarizedRoute {
45+
private fun Route.installManagerRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
3746
tags = setOf("Manager")
3847

3948
get = GetInfo.builder {
49+
if (deprecated) isDeprecated()
4050
description("Get the current manager release")
4151
summary("Get current manager release")
4252
response {
@@ -48,10 +58,11 @@ private fun Route.installManagerRouteDocumentation() = installNotarizedRoute {
4858
}
4959
}
5060

51-
private fun Route.installManagerVersionRouteDocumentation() = installNotarizedRoute {
61+
private fun Route.installManagerVersionRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
5262
tags = setOf("Manager")
5363

5464
get = GetInfo.builder {
65+
if (deprecated) isDeprecated()
5566
description("Get the current manager release version")
5667
summary("Get current manager release version")
5768
response {

‎src/main/kotlin/app/revanced/api/configuration/routes/PatchesRoute.kt

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,26 @@ import kotlin.time.Duration.Companion.days
1717
import org.koin.ktor.ext.get as koinGet
1818

1919
internal fun Route.patchesRoute() = route("patches") {
20+
configure()
21+
22+
// TODO: Remove this deprecated route eventually.
23+
route("latest") {
24+
configure(deprecated = true)
25+
}
26+
}
27+
28+
private fun Route.configure(deprecated: Boolean = false) {
2029
val patchesService = koinGet<PatchesService>()
2130

22-
installPatchesRouteDocumentation()
31+
installPatchesRouteDocumentation(deprecated)
2332

2433
rateLimit(RateLimitName("weak")) {
2534
get {
2635
call.respond(patchesService.latestRelease())
2736
}
2837

2938
route("version") {
30-
installPatchesVersionRouteDocumentation()
39+
installPatchesVersionRouteDocumentation(deprecated)
3140

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

3847
rateLimit(RateLimitName("strong")) {
3948
route("list") {
40-
installPatchesListRouteDocumentation()
49+
installPatchesListRouteDocumentation(deprecated)
4150

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

52-
installPatchesPublicKeyRouteDocumentation()
61+
installPatchesPublicKeyRouteDocumentation(deprecated)
5362

5463
get {
5564
call.respond(patchesService.publicKeys())
@@ -58,10 +67,11 @@ internal fun Route.patchesRoute() = route("patches") {
5867
}
5968
}
6069

61-
private fun Route.installPatchesRouteDocumentation() = installNotarizedRoute {
70+
private fun Route.installPatchesRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
6271
tags = setOf("Patches")
6372

6473
get = GetInfo.builder {
74+
if (deprecated) isDeprecated()
6575
description("Get the current patches release")
6676
summary("Get current patches release")
6777
response {
@@ -73,10 +83,11 @@ private fun Route.installPatchesRouteDocumentation() = installNotarizedRoute {
7383
}
7484
}
7585

76-
private fun Route.installPatchesVersionRouteDocumentation() = installNotarizedRoute {
86+
private fun Route.installPatchesVersionRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
7787
tags = setOf("Patches")
7888

7989
get = GetInfo.builder {
90+
if (deprecated) isDeprecated()
8091
description("Get the current patches release version")
8192
summary("Get current patches release version")
8293
response {
@@ -88,10 +99,11 @@ private fun Route.installPatchesVersionRouteDocumentation() = installNotarizedRo
8899
}
89100
}
90101

91-
private fun Route.installPatchesListRouteDocumentation() = installNotarizedRoute {
102+
private fun Route.installPatchesListRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
92103
tags = setOf("Patches")
93104

94105
get = GetInfo.builder {
106+
if (deprecated) isDeprecated()
95107
description("Get the list of patches from the current patches release")
96108
summary("Get list of patches from current patches release")
97109
response {
@@ -103,10 +115,11 @@ private fun Route.installPatchesListRouteDocumentation() = installNotarizedRoute
103115
}
104116
}
105117

106-
private fun Route.installPatchesPublicKeyRouteDocumentation() = installNotarizedRoute {
118+
private fun Route.installPatchesPublicKeyRouteDocumentation(deprecated: Boolean) = installNotarizedRoute {
107119
tags = setOf("Patches")
108120

109121
get = GetInfo.builder {
122+
if (deprecated) isDeprecated()
110123
description("Get the public keys for verifying patches and integrations assets")
111124
summary("Get patches and integrations public keys")
112125
response {

0 commit comments

Comments
 (0)
Please sign in to comment.