link-stack/apps/bridge-whatsapp/src/index.ts

33 lines
816 B
TypeScript
Raw Normal View History

2026-02-15 08:29:10 +01:00
import { serve } from "@hono/node-server";
2025-12-02 16:55:07 +01:00
import WhatsappService from "./service.ts";
2026-02-15 08:29:10 +01:00
import { createRoutes } from "./routes.ts";
2026-02-10 08:36:04 +01:00
import { createLogger } from "./lib/logger";
2025-12-02 16:55:07 +01:00
const logger = createLogger("bridge-whatsapp-index");
2024-05-07 14:16:01 +02:00
2026-02-15 08:29:10 +01:00
const main = async () => {
const service = new WhatsappService();
await service.initialize();
2024-05-15 14:39:33 +02:00
2026-02-15 08:29:10 +01:00
const app = createRoutes(service);
const port = parseInt(process.env.PORT || "5000", 10);
2024-05-07 14:16:01 +02:00
2026-02-15 08:29:10 +01:00
serve({ fetch: app.fetch, port }, (info) => {
logger.info({ port: info.port }, "bridge-whatsapp listening");
});
2024-05-07 14:16:01 +02:00
2026-02-15 08:29:10 +01:00
const shutdown = async () => {
logger.info("Shutting down...");
await service.teardown();
process.exit(0);
};
2024-05-07 14:16:01 +02:00
2026-02-15 08:29:10 +01:00
process.on("SIGTERM", shutdown);
process.on("SIGINT", shutdown);
2024-05-07 14:16:01 +02:00
};
main().catch((err) => {
logger.error(err);
2024-05-07 14:16:01 +02:00
process.exit(1);
});