46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
import express from 'express';
|
|
import dotenv from 'dotenv';
|
|
import cookieParser from 'cookie-parser';
|
|
import bodyParser from 'body-parser';
|
|
import corsMiddleware from './middlewares/corsMiddleware.js';
|
|
|
|
// Controllers
|
|
import authRoutes from './routes/authRoutes.js';
|
|
import salesRoutes from './routes/salesRoutes.js';
|
|
import productRoutes from './routes/productRoutes.js';
|
|
import settingsRoutes from './routes/settingsRoutes.js';
|
|
import categoryRoutes from "./routes/categoryRoutes.js";
|
|
import inventoryRoutes from "./routes/inventoryRoutes.js";
|
|
import reportRoutes from "./routes/reportRoutes.js";
|
|
|
|
// Load environment variables
|
|
dotenv.config();
|
|
|
|
const app = express();
|
|
const PORT = process.env.PORT || 3001;
|
|
|
|
// Middleware
|
|
app.use(corsMiddleware);
|
|
app.use(express.json());
|
|
app.use(cookieParser());
|
|
app.use(bodyParser.json());
|
|
|
|
// Routes
|
|
app.use('/api/products', productRoutes);
|
|
app.use('/api/sales', salesRoutes); // This handles ALL sales routes including GET /api/sales
|
|
app.use('/api/auth', authRoutes);
|
|
app.use('/api/settings', settingsRoutes);
|
|
app.use('/api/categories', categoryRoutes);
|
|
app.use("/api/inventory", inventoryRoutes);
|
|
app.use('/api/reports', reportRoutes);
|
|
|
|
// Root route (optional)
|
|
app.get('/', (req, res) => {
|
|
res.send('POS API Server is running...');
|
|
});
|
|
|
|
// Start server
|
|
app.listen(PORT, () => {
|
|
console.log(`✅ Server is running on port ${PORT}`);
|
|
});
|