29 lines
644 B
TypeScript
29 lines
644 B
TypeScript
|
|
import { createApp } from "./app.js";
|
||
|
|
import { env } from "./config/env.js";
|
||
|
|
import { bootstrapAppData } from "./lib/bootstrap.js";
|
||
|
|
import { prisma } from "./lib/prisma.js";
|
||
|
|
|
||
|
|
async function start() {
|
||
|
|
await bootstrapAppData();
|
||
|
|
|
||
|
|
const app = createApp();
|
||
|
|
const server = app.listen(env.PORT, () => {
|
||
|
|
console.log(`MRP server listening on port ${env.PORT}`);
|
||
|
|
});
|
||
|
|
|
||
|
|
const shutdown = async () => {
|
||
|
|
server.close();
|
||
|
|
await prisma.$disconnect();
|
||
|
|
};
|
||
|
|
|
||
|
|
process.on("SIGINT", shutdown);
|
||
|
|
process.on("SIGTERM", shutdown);
|
||
|
|
}
|
||
|
|
|
||
|
|
start().catch(async (error) => {
|
||
|
|
console.error(error);
|
||
|
|
await prisma.$disconnect();
|
||
|
|
process.exit(1);
|
||
|
|
});
|
||
|
|
|