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

43 lines
935 B
TypeScript
Raw Normal View History

2024-05-07 14:16:01 +02:00
import * as Hapi from "@hapi/hapi";
import hapiPino from "hapi-pino";
import Schmervice from "@hapipal/schmervice";
2025-12-02 16:55:07 +01:00
import WhatsappService from "./service.ts";
2024-05-07 14:16:01 +02:00
import {
RegisterBotRoute,
UnverifyBotRoute,
2024-05-15 14:39:33 +02:00
GetBotRoute,
SendMessageRoute,
ReceiveMessageRoute,
2025-12-02 16:55:07 +01:00
} 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
2024-05-17 09:20:00 +02:00
const server = Hapi.server({ port: 5000 });
2024-05-07 14:16:01 +02:00
const startServer = async () => {
2024-05-15 14:39:33 +02:00
await server.register({ plugin: hapiPino });
2024-05-07 14:16:01 +02:00
server.route(RegisterBotRoute);
server.route(UnverifyBotRoute);
2024-05-15 14:39:33 +02:00
server.route(GetBotRoute);
server.route(SendMessageRoute);
server.route(ReceiveMessageRoute);
2024-05-07 14:16:01 +02:00
await server.register(Schmervice);
server.registerService(WhatsappService);
await server.start();
return server;
};
const main = async () => {
await startServer();
};
main().catch((err) => {
logger.error(err);
2024-05-07 14:16:01 +02:00
process.exit(1);
});