const express = require("express"); const cors = require("cors"); const { createServer } = require("node:http"); const { Server } = require("socket.io"); const { errorConverter, errorHandler } = require('./middlewares/error.js'); const verifyJWTToken = require("./middlewares/verifyJWTToken.js"); const app = express(); const config = require("./config/config.js"); const morgan = require("./config/morgan"); const compression = require("compression"); if (config.env !== "test") { app.use(morgan.successHandler); app.use(morgan.errorHandler); } // const IP = '192.168.50.127'; // Replace with your local IP address // gzip compression app.use(compression()); // socket io const server = createServer(app); const io = new Server(server, { pingTimeout: 60000, cors: { origin: "*", credentials: true, }, }); app.set("io", io); var corOptions = { origin: "*", }; //middleware app.use(cors(corOptions)); app.use(express.json()); app.use(express.urlencoded({ extended: true })); // make images access public by ther correct path app.use("/public", express.static("public")); app.get("/", (req, res) => { res.json({ message: "hello from api" }); }); // app.use(verifyJWTToken); // verify jwt token in socket // router const router = require("./routes"); const db = require("./models/index.js"); const { initializeSocketIO } = require("./socket/index.js"); const ApiError = require("./utils/handler/ApiError.handler.js"); // api route app.use("/api", router); //port const PORT = process.env.PORT || 8000; // send back a 404 error for any unknown api request app.use((req, res, next) => { next(new ApiError(404, "Not found")); }); // convert error to ApiError, if needed app.use(errorConverter); // handle error app.use(errorHandler); //server initializeSocketIO(io); db.sequelize .sync({ force: false }) .then(() => { console.log("Yes re-sync done!"); server.listen(PORT, () => { // server.listen(PORT, IP, () => { console.log(`Server is running on port ${PORT}`); // console.log(`Server running at http://${IP}:${PORT}`); }); }) .catch((err) => { console.log("Error : ", err.message); // process.exit(1); });