feat: Improve routing paths

This commit is contained in:
oSumAtrIX 2024-01-29 10:58:15 +01:00
parent 80c8083610
commit df999c00c4
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4

View File

@ -18,32 +18,34 @@ fun Application.configureRouting() {
routing { routing {
route("/v${configuration.apiVersion}") { route("/v${configuration.apiVersion}") {
route("/patches") { route("/patches") {
get { route("latest") {
val patches = backend.getRelease(configuration.organization, configuration.patchesRepository) get {
val integrations = configuration.integrationsRepositoryNames.map { val patches = backend.getRelease(configuration.organization, configuration.patchesRepository)
async { backend.getRelease(configuration.organization, it) } val integrations = configuration.integrationsRepositoryNames.map {
}.awaitAll() async { backend.getRelease(configuration.organization, it) }
}.awaitAll()
val assets = (patches.assets + integrations.flatMap { it.assets }).filter { val assets = (patches.assets + integrations.flatMap { it.assets }).filter {
it.downloadUrl.endsWith(".apk") || it.downloadUrl.endsWith(".jar") it.downloadUrl.endsWith(".apk") || it.downloadUrl.endsWith(".jar")
}.map { APIAsset(it.downloadUrl) }.toSet() }.map { APIAsset(it.downloadUrl) }.toSet()
val release = APIRelease( val release = APIRelease(
patches.tag, patches.tag,
patches.createdAt, patches.createdAt,
patches.releaseNote, patches.releaseNote,
assets assets
) )
call.respond(release) call.respond(release)
} }
get("/version") { get("/version") {
val patches = backend.getRelease(configuration.organization, configuration.patchesRepository) val patches = backend.getRelease(configuration.organization, configuration.patchesRepository)
val release = APIReleaseVersion(patches.tag) val release = APIReleaseVersion(patches.tag)
call.respond(release) call.respond(release)
}
} }
} }