web_react/ai_image_generator/server/index.js

57 lines
1.3 KiB
JavaScript

import cors from "cors"
import mongoose from "mongoose"
import *as dotenv from "dotenv"
import express from "express"
import PostRouter from "./routes/Posts.js"
import GenerateImageRouter from "./routes/ImageGenerate.js"
dotenv.config();
const app = express();
app.use(cors());
app.use(express.json({limit: "50mb"}));
app.use(express.urlencoded({extended: true}));
app.use((err, req, res, next) => {
const status = err.status || 500;
const message = err.message || "Error!!"
return res.status(status).json(
{
success: false,
status,
message
}
)
});
app.use("/api/post", PostRouter);
app.use("/api/generateImage", GenerateImageRouter)
app.get("/", async(req, res) => {
res.status(200).json({
message: "Test"
})
});
//connect with MongoDB
const connectDB = () => {
mongoose.set("strictQuery", true);
mongoose.connect(process.env.MONGODB_URL).then(() => console.log("MongoDB connected")).catch((err) => {
console.error("Failed to connect with MongoDB");
console.error(err);
})
}
//start server
const startServer = async () => {
try {
app.listen(8080, () => console.log("Server is running on port 8080"))
connectDB();
} catch (error) {
console.log(error)
}
};
startServer()