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

34 lines
834 B
TypeScript
Raw Normal View History

2026-02-15 08:29:10 +01:00
import { serve } from "@hono/node-server";
2026-02-15 10:29:52 +01:00
import { createLogger } from "@link-stack/logger";
2026-02-15 08:29:10 +01:00
import { createRoutes } from "./routes.ts";
2026-02-15 10:29:52 +01:00
import WhatsappService from "./service.ts";
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);
2026-02-15 10:29:52 +01:00
const port = Number.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
};
2026-02-15 10:29:52 +01:00
main().catch((error) => {
logger.error(error);
2024-05-07 14:16:01 +02:00
process.exit(1);
});