youtuber-blog/src/index.js

43 lines
921 B
JavaScript
Raw Normal View History

2024-04-17 14:08:16 +00:00
import { initDb } from "./db/index.js";
import { testRoutes } from "./routes/index.js";
import { env, Logger, Redis } from "./utils/index.js";
2023-06-10 00:37:36 +00:00
import fastify from "fastify";
2024-04-17 14:08:16 +00:00
import { middleware } from "./modules/middleware.js";
2023-06-10 00:37:36 +00:00
const API_VERSION = "v1";
export const main = async () => {
const server = fastify({
bodyLimit: 1_000_000,
trustProxy: true,
});
await initDb();
await Redis.initialize();
server.register(middleware);
2023-06-10 00:37:36 +00:00
server.register(import("@fastify/cors"), {
maxAge: 600,
origin: true,
credentials: true,
});
// Routes
server.register(testRoutes, {
prefix: `/${API_VERSION}/test`,
});
server.listen({ host: env.HOST, port: env.PORT }, (error, address) => {
if (error) {
Logger.error("INIT", error.message);
throw new Error(error.message);
2023-06-10 00:37:36 +00:00
}
Logger.info("INIT", `Server listening at ${address}`);
});
return server;
};
main();