From 99cd0617cb58108179d1ebbdf7a13e79033c3924 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 22 Feb 2026 21:46:46 +0000 Subject: [PATCH 1/2] Update javalin to v7 --- settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index b81e2ed..9c36f37 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -23,7 +23,7 @@ dependencyResolutionManagement { bundle("logging", listOf("slf4j", "log4j-core", "log4j-slf4j2")) - version("javalin", "6.7.0") + version("javalin", "7.0.0") library("javalin-core", "io.javalin", "javalin").versionRef("javalin") library("javalin-bundle", "io.javalin", "javalin-bundle").versionRef("javalin") library("javalin-annotation", "io.javalin.community.openapi", "openapi-annotation-processor").versionRef("javalin") From 782c517bb58a6306ade5550ff8f185eab2db6d51 Mon Sep 17 00:00:00 2001 From: Yannick Lamprecht Date: Wed, 25 Feb 2026 00:20:07 +0100 Subject: [PATCH 2/2] migrate methods --- .../main/java/de/chojo/gamejam/api/Api.java | 49 ++++++++++--------- .../main/java/de/chojo/pluginjam/api/Api.java | 4 +- .../main/java/de/chojo/pluginjam/web/Api.java | 4 +- 3 files changed, 29 insertions(+), 28 deletions(-) diff --git a/bot/src/main/java/de/chojo/gamejam/api/Api.java b/bot/src/main/java/de/chojo/gamejam/api/Api.java index 3525320..6a45e05 100644 --- a/bot/src/main/java/de/chojo/gamejam/api/Api.java +++ b/bot/src/main/java/de/chojo/gamejam/api/Api.java @@ -57,34 +57,36 @@ public Api(Configuration configuration, ShardManager shardManager, Guilds guilds private void build() { app = Javalin.create(config -> { - config.useVirtualThreads = true; + config.concurrency.useVirtualThreads = true; config.requestLogger.http((ctx, executionTimeMs) -> { log.debug("{}: {} in {}ms\nHeaders:\n{}\nBody:\n{}", ctx.method(), ctx.path(), executionTimeMs, headers(ctx), ctx.body().substring(0, Math.min(100, ctx.body().length()))); }); - config.router.apiBuilder(this::routes); + config.routes.apiBuilder(this::routes); config.registerPlugin(openApi()); config.registerPlugin(swagger()); - }).start(configuration.api().host(), configuration.api().port()); - app.exception(InterruptException.class, (exception, ctx) -> { - ctx.status(exception.status()).result(exception.getMessage()); - }); - app.beforeMatched(ctx -> { - for (String path : unauthorized) { - if(ctx.path().startsWith(path)) return; - } - - var token = ctx.req().getHeader("authorization"); - if (token == null) { - throw new UnauthorizedResponse(); - } else if (!token.equals(configuration.api().token())) { - throw new UnauthorizedResponse(); - } - }); + config.routes.exception(InterruptException.class, (exception, ctx) -> { + ctx.status(exception.status()).result(exception.getMessage()); + }); + + config.routes.beforeMatched(ctx -> { + for (String path : unauthorized) { + if(ctx.path().startsWith(path)) return; + } + + var token = ctx.req().getHeader("authorization"); + if (token == null) { + throw new UnauthorizedResponse(); + } else if (!token.equals(configuration.api().token())) { + throw new UnauthorizedResponse(); + } + }); + + }).start(configuration.api().host(), configuration.api().port()); } private void routes() { @@ -111,23 +113,22 @@ private OpenApiPlugin openApi() { return new OpenApiPlugin(config -> config.withDocumentationPath("/api/openapi.json") .withDefinitionConfiguration((version, definition) -> - definition.withInfo(info -> + definition.info(info -> info.description("Plugin Jam Bot") .license("AGPL-3.0") ) - .withServer(server -> + .server(server -> server.description("Lyna Backend") .url(configuration.api().url())) - .withSecurity(security -> - security.withApiKeyAuth("Authorization", "Authorization")) + .withApiKeyAuth("Authorization", "Authorization") ) ); } private SwaggerPlugin swagger() { return new SwaggerPlugin(conf -> { - conf.setUiPath("/api/swagger"); - conf.setDocumentationPath("/api/openapi.json"); + conf.withUiPath("/api/swagger"); + conf.withDocumentationPath("/api/openapi.json"); }); } diff --git a/plugin-paper/src/main/java/de/chojo/pluginjam/api/Api.java b/plugin-paper/src/main/java/de/chojo/pluginjam/api/Api.java index 7f2f9a6..040b93a 100644 --- a/plugin-paper/src/main/java/de/chojo/pluginjam/api/Api.java +++ b/plugin-paper/src/main/java/de/chojo/pluginjam/api/Api.java @@ -42,8 +42,8 @@ private void ignite() { var classLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(PluginJam.class.getClassLoader()); javalin = Javalin.create(config -> { - config.useVirtualThreads = true; - config.router.apiBuilder(this::routes); + config.concurrency.useVirtualThreads = true; + config.routes.apiBuilder(this::routes); }); javalin.start("0.0.0.0", Integer.parseInt(System.getProperty("javalin.port", "30000"))); Thread.currentThread().setContextClassLoader(classLoader); diff --git a/plugin-velocity/src/main/java/de/chojo/pluginjam/web/Api.java b/plugin-velocity/src/main/java/de/chojo/pluginjam/web/Api.java index e59d484..9cca1f3 100644 --- a/plugin-velocity/src/main/java/de/chojo/pluginjam/web/Api.java +++ b/plugin-velocity/src/main/java/de/chojo/pluginjam/web/Api.java @@ -35,8 +35,8 @@ private void ignite() { var classLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(PluginJam.class.getClassLoader()); javalin = Javalin.create(config -> { - config.useVirtualThreads = true; - config.router.apiBuilder(this::routes); + config.concurrency.useVirtualThreads = true; + config.routes.apiBuilder(this::routes); }); int port = Integer.parseInt(System.getProperty("javalin.port", "30000")); javalin.start("0.0.0.0", port);