diff --git a/pom.xml b/pom.xml index 295b3f3..78b3ea1 100644 --- a/pom.xml +++ b/pom.xml @@ -38,13 +38,13 @@ UTF-8 UTF-8 - 0.0.66 + 0.0.67-SNAPSHOT 6.5.0 - 2.30.1 + 3.3.0 2.7.2 @@ -251,9 +251,9 @@ - org.jboss.spec.javax.ws.rs - jboss-jaxrs-api_2.1_spec - 2.0.1.Final + jakarta.platform + jakarta.jakartaee-web-api + 10.0.0 diff --git a/telegram-webhook/telegram-webhook-quarkus/pom.xml b/telegram-webhook/telegram-webhook-quarkus/pom.xml index fb0b752..fbbb626 100644 --- a/telegram-webhook/telegram-webhook-quarkus/pom.xml +++ b/telegram-webhook/telegram-webhook-quarkus/pom.xml @@ -25,9 +25,10 @@ smallrye-mutiny-vertx-core - org.jboss.spec.javax.ws.rs - jboss-jaxrs-api_2.1_spec + jakarta.platform + jakarta.jakartaee-web-api + org.telegram telegrambots-meta diff --git a/telegram-webhook/telegram-webhook-quarkus/src/main/java/dev/struchkov/godfather/telegram/webhook/WebhookController.java b/telegram-webhook/telegram-webhook-quarkus/src/main/java/dev/struchkov/godfather/telegram/webhook/WebhookController.java index 51ba2b3..e45d37a 100644 --- a/telegram-webhook/telegram-webhook-quarkus/src/main/java/dev/struchkov/godfather/telegram/webhook/WebhookController.java +++ b/telegram-webhook/telegram-webhook-quarkus/src/main/java/dev/struchkov/godfather/telegram/webhook/WebhookController.java @@ -3,19 +3,18 @@ package dev.struchkov.godfather.telegram.webhook; import dev.struchkov.godfather.telegram.domain.config.TelegramBotConfig; import dev.struchkov.godfather.telegram.quarkus.context.service.EventDistributor; import io.smallrye.mutiny.Uni; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.HeaderParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import lombok.extern.slf4j.Slf4j; import org.telegram.telegrambots.meta.api.objects.Update; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - import static dev.struchkov.haiti.context.exception.AccessException.accessException; import static dev.struchkov.haiti.utils.Inspector.isTrue; @@ -38,17 +37,20 @@ public class WebhookController { @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Uni updateReceived(@PathParam("webhookPath") String botPath, @HeaderParam("X-Telegram-Bot-Api-Secret-Token") String secretTokenFromTelegram, Update update) { - return Uni.createFrom().voidItem() + Uni.createFrom().voidItem() .invoke(() -> { log.trace("Получено webhook событие: {}", update); isTrue(PATH_KEY.equals(botPath), accessException(ERROR_ACCESS)); isTrue(secretToken.equals(secretTokenFromTelegram), accessException(ERROR_ACCESS)); }) .call(() -> eventDistributor.processing(update)) - .onFailure().invoke(th -> log.error("При обработке webhook события произошла ошибка. Идентификатор события: " + update.getUpdateId(), th)) - .onFailure().recoverWithNull() - .invoke(() -> log.trace("Сообщили Telegram, что вебхук событие обработано. Идентификатор события: {}", update.getUpdateId())) - .map(ignored -> Response.ok().build()); + .subscribe().with( + v -> log.trace("Webhook событие обработано. Идентификатор: {}", update.getUpdateId()), + fail -> log.error("При обработке webhook события произошла ошибка. Идентификатор события: " + update.getUpdateId(), fail) + ); + + return Uni.createFrom().item(Response.ok().build()) + .invoke(() -> log.trace("Сообщили Telegram, что вебхук событие принято. Идентификатор события: {}", update.getUpdateId())); } @GET