Add external messaging bridge

This commit is contained in:
Tiago
2026-09-29 14:25:37 -03:00
parent 0f011a091a
commit 911986ea8b
7 changed files with 274 additions and 0 deletions
@@ -16,6 +16,7 @@ import com.seconectai.condocontab.http.Router;
import com.seconectai.condocontab.http.StaticFileHandler;
import com.seconectai.condocontab.integracao.EmailClient;
import com.seconectai.condocontab.integracao.EvolutionApiClient;
import com.seconectai.condocontab.integracao.ExternalBridgeHandler;
import com.seconectai.condocontab.master.http.MasterHandlers;
import com.seconectai.condocontab.tenant.TenantDataSourceProvider;
import com.seconectai.condocontab.tenant.http.ClienteHandlers;
@@ -57,6 +58,7 @@ public final class Main {
ClienteHandlers clienteHandlers = new ClienteHandlers(tenantDataSourceProvider, dataSourceProvider, Path.of("/app/uploads"), evolutionApiClient, emailClient);
FinanceiroHandlers financeiroHandlers = new FinanceiroHandlers(dataSourceProvider, abacatePayClient);
AbacatePayWebhookHandler abacatePayWebhookHandler = new AbacatePayWebhookHandler(dataSourceProvider, abacatePayClient);
ExternalBridgeHandler externalBridgeHandler = new ExternalBridgeHandler(tenantDataSourceProvider, dataSourceProvider, evolutionApiClient);
if ("worker".equalsIgnoreCase(System.getenv().getOrDefault("APP_MODE", "web"))) {
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(() -> {
@@ -77,6 +79,8 @@ public final class Main {
router.post("/api/master/login", authHandlers.masterLogin());
router.post("/api/auth/login", authHandlers.funcionarioLogin());
router.post("/api/master/webhooks/abacatepay", abacatePayWebhookHandler);
router.post("/api/webhooks/evolution/respostas", externalBridgeHandler);
router.post("/api/integracao/mensagens", authMiddleware.exigirApiKey(externalBridgeHandler));
router.prefix("/api/master/", authMiddleware.exigirMaster(masterHandlers));
router.prefix("/api/financeiro/", authMiddleware.exigirFuncionario(financeiroHandlers));
router.prefix("/api/", authMiddleware.exigirFuncionario(clienteHandlers));