| import express from "express";
|
| import cors from "cors";
|
| import dotenv from "dotenv";
|
|
|
| dotenv.config();
|
|
|
| const app = express();
|
| const port = process.env.PORT || 5000;
|
|
|
| app.use(cors({
|
| origin: process.env.FRONTEND_URL || "http://localhost:3000",
|
| credentials: true,
|
| }));
|
| app.use(express.json());
|
|
|
| import cookieParser from "cookie-parser";
|
| app.use(cookieParser());
|
|
|
| import authRoutes from "./routes/auth.routes";
|
| import portfolioRoutes from "./routes/portfolio.routes";
|
| import testimonialRoutes from "./routes/testimonial.routes";
|
| import publicTestimonialRoutes from "./routes/public-testimonials.routes";
|
| import inquiryRoutes from "./routes/inquiry.routes";
|
| import adminInquiryRoutes from "./routes/admin-inquiry.routes";
|
| import blogRoutes from "./routes/blog.routes";
|
| import adminBlogRoutes from "./routes/admin-blog.routes";
|
| import uploadRoutes from "./routes/upload.routes";
|
| import publicPortfolioRoutes from "./routes/public-portfolio.routes";
|
| import { getCsrfToken, csrfProtection } from "./middleware/csrf";
|
| import path from "path";
|
|
|
| app.get("/", (req, res) => {
|
| res.send("WebServices API is running");
|
| });
|
|
|
|
|
| app.get("/api/csrf-token", csrfProtection, getCsrfToken);
|
|
|
| app.use("/api/auth", authRoutes);
|
| app.use("/api/inquiries", inquiryRoutes);
|
| app.use("/api/testimonials", publicTestimonialRoutes);
|
| app.use("/api/blog", blogRoutes);
|
| app.use("/api/admin/portfolio", portfolioRoutes);
|
| app.use("/api/admin/testimonials", testimonialRoutes);
|
| app.use("/api/admin/inquiries", adminInquiryRoutes);
|
| app.use("/api/admin/blog", adminBlogRoutes);
|
| app.use("/api/portfolio", publicPortfolioRoutes);
|
| app.use("/api/upload", uploadRoutes);
|
|
|
|
|
| app.use("/uploads", express.static(path.join(process.cwd(), "uploads")));
|
|
|
| app.listen(port, () => {
|
| console.log(`[server]: Server is running at http://localhost:${port}`);
|
| });
|
|
|