HotTRDealsBackend/server.js
2026-01-29 00:45:52 +00:00

57 lines
2.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const express = require("express");
const cors = require("cors");
require("dotenv").config();
const cookieParser = require("cookie-parser");
// Rotaların import edilmesi
const userRoutesneedRefactor = require("./routes/user.routes");
const dealRoutes = require("./routes/deal.routes");
const authRoutes = require("./routes/auth.routes");
const dealVoteRoutes = require("./routes/vote.routes");
const commentRoutes = require("./routes/comment.routes");
const accountSettingsRoutes = require("./routes/accountSettings.routes");
const userRoutes = require("./routes/user.routes");
const sellerRoutes = require("./routes/seller.routes");
const voteRoutes = require("./routes/vote.routes");
const commentLikeRoutes = require("./routes/commentLike.routes");
const categoryRoutes =require("./routes/category.routes")
const modRoutes = require("./routes/mod.routes")
const app = express();
// CORS middleware'ı ile dışardan gelen istekleri kontrol et
const allowedOrigins = new Set([
"http://192.168.1.205:3001",
"http://localhost:3001",
]);
app.use(
cors({
origin(origin, cb) {
if (!origin) return cb(null, true);
if (allowedOrigins.has(origin)) return cb(null, true);
return cb(new Error("CORS_NOT_ALLOWED"));
},
credentials: true, // Cookies'in paylaşıma izin verilmesi
})
);
// JSON, URL encoded ve cookies'leri parse etme
app.use(express.json()); // JSON verisi almak için
app.use(express.urlencoded({ extended: true })); // URL encoded veriler için
app.use(cookieParser()); // Cookies'leri çözümlemek için
// API route'larını tanımlama
app.use("/api/users", userRoutesneedRefactor); // User işlemleri
app.use("/api/deals", dealRoutes); // Deal işlemleri
app.use("/api/auth", authRoutes); // Auth işlemleri (login, register vs.)
app.use("/api/deal-votes", dealVoteRoutes); // Deal oy işlemleri
app.use("/api/comments", commentRoutes); // Comment işlemleri
app.use("/api/account", accountSettingsRoutes); // Account settings işlemleri
app.use("/api/user", userRoutes); // Kullanıcı işlemleri
app.use("/api/seller", sellerRoutes); // Seller işlemleri
app.use("/api/vote", voteRoutes); // Vote işlemleri
app.use("/api/comment-likes", commentLikeRoutes); // Comment like işlemleri
app.use("/api/category", categoryRoutes);
app.use("/api/mod", modRoutes);
// Sunucuyu dinlemeye başla
app.listen(3000, () => console.log("Server running on http://localhost:3000"));