txtdot/src/app.ts

42 lines
863 B
TypeScript
Raw Normal View History

2023-08-13 20:38:33 +03:00
import { IConfigService } from "./config/config.interface";
import { ConfigService } from "./config/config.service";
2023-08-14 13:42:13 +03:00
2023-08-14 13:05:34 +03:00
import Fastify from "fastify";
import fastifyView from "@fastify/view";
import ejs from "ejs";
2023-08-14 13:59:32 +03:00
2023-08-14 18:22:03 +03:00
import mainRoute from "./routes/main";
import parseRoute from "./routes/parse";
import startRoute from "./routes/start";
2023-08-14 13:59:32 +03:00
2023-08-13 20:38:33 +03:00
class App {
config: IConfigService;
2023-08-14 13:42:13 +03:00
2023-08-13 20:38:33 +03:00
constructor() {
this.config = new ConfigService();
}
2023-08-14 13:42:13 +03:00
2023-08-14 13:03:19 +03:00
async init() {
const fastify = Fastify({
logger: true,
});
2023-08-13 20:38:33 +03:00
await fastify.register(fastifyView, {
engine: {
ejs: ejs,
},
2023-08-13 20:38:33 +03:00
});
2023-08-14 16:44:23 +03:00
fastify.register(mainRoute);
fastify.register(parseRoute);
2023-08-14 18:08:26 +03:00
fastify.register(startRoute);
2023-08-13 21:39:23 +03:00
2023-08-14 16:44:23 +03:00
fastify.listen({ port: Number(this.config.get("PORT")) }, (err) => {
err && console.log(err);
2023-08-13 20:38:33 +03:00
});
}
}
const app = new App();
app.init();