GIF89a php
Current File : /home/viralhoga/glambooth_viralhoga_com/src/app.js
import express from "express";
import cors from "cors";
import { logManager } from "./middlewares/log.manager.js";
import fs from "fs";

const app = express();
app.use(express.json());

// ✅ Enable CORS for all routes
app.use(cors({
  origin: '*', // or specify your frontend: 'http://127.0.0.1:58889'
  methods: ['GET', 'POST', 'OPTIONS'],
  allowedHeaders: ['Content-Type', 'Authorization'],
}));

// ✅ Handle preflight requests
app.options('*', cors());



import authRouter from "./routes/auth.routes.js";
import userRouter from "./routes/user.routes.js";
import subscriptionRouter from "./routes/subscription.routes.js";
import templateRouter from "./routes/template.routes.js";
import multer from "multer";

app.use("/api/auth", authRouter);
app.use("/api/user", userRouter);
app.use("/api/subscription", subscriptionRouter);
app.use("/api/template", templateRouter);

app.use("/uploads", express.static("uploads"));

app.use(logManager);

app.get("/", (req, res) => {
    res.send("Hello World");
});



// Configure multer storage
const storage = multer.diskStorage({
  destination: function (req, file, cb) {
      console.log(file);
    const dir = 'uploads/';
    if (!fs.existsSync(dir)) {
      fs.mkdirSync(dir);
    }
    cb(null, dir);
  },
  filename: function (req, file, cb) {
        console.log(file);
    const uniqueName = Date.now() + '-' + file.originalname;
    cb(null, uniqueName);
  }
});

const upload = multer({ 
  storage: storage,
  fileFilter: (req, file, cb) => {
        console.log(file);
    // Accept all file types
    cb(null, true);
  }
});

// API endpoint
app.post('/upload', upload.single('image'), (req, res) => {
    
            console.log(req);

  try {
    if (!req.file) {
      return res.status(400).json({ message: 'No file uploaded' });
    }
    // Return full URL path
    const fileUrl = `uploads/${req.file.filename}`;
    res.json({
      message: 'Image uploaded successfully',
      fileUrl: fileUrl
    });
  } catch (error) {
    console.error('Upload error:', error);
    res.status(500).json({ 
      message: 'Error uploading file',
      error: error.message 
    });
  }
});



export { app };