Files
api-duneawa/src/server.js
2026-05-10 19:40:57 +02:00

33 lines
873 B
JavaScript

const { createApp } = require("./app");
const { config } = require("./config");
const { closeMongo, connectToMongo } = require("./db/client");
const { ensureIndexes } = require("./db/indexes");
async function start() {
const db = await connectToMongo();
await ensureIndexes(db);
const app = createApp();
const server = app.listen(config.port, () => {
console.log(`Dune API listening on http://localhost:${config.port}`);
console.log(`Public API URL: ${config.public.apiUrl}`);
console.log(`Public Swagger UI URL: ${config.public.uiUrl}/docs`);
});
async function shutdown(signal) {
console.log(`Received ${signal}, shutting down`);
server.close(async () => {
await closeMongo();
process.exit(0);
});
}
process.on("SIGINT", shutdown);
process.on("SIGTERM", shutdown);
}
start().catch((error) => {
console.error(error);
process.exit(1);
});