Initial commit
This commit is contained in:
12
server/routes/authRoutes.js
Normal file
12
server/routes/authRoutes.js
Normal file
@@ -0,0 +1,12 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { registerUser, loginUser, getUserProfile, updateUserProfile } = require('../controllers/authController');
|
||||
const { protect } = require('../middleware/authMiddleware');
|
||||
|
||||
router.post('/register', registerUser);
|
||||
router.post('/login', loginUser);
|
||||
router.get('/profile', protect, getUserProfile);
|
||||
router.put('/profile', protect, updateUserProfile);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
12
server/routes/bannerRoutes.js
Normal file
12
server/routes/bannerRoutes.js
Normal file
@@ -0,0 +1,12 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getBanners, createBanner, updateBanner, deleteBanner } = require('../controllers/bannerController');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
|
||||
router.get('/', getBanners);
|
||||
router.post('/', protect, authorize('Admin'), createBanner);
|
||||
router.put('/:id', protect, authorize('Admin'), updateBanner);
|
||||
router.delete('/:id', protect, authorize('Admin'), deleteBanner);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
12
server/routes/brandRoutes.js
Normal file
12
server/routes/brandRoutes.js
Normal file
@@ -0,0 +1,12 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getBrands, createBrand, updateBrand, deleteBrand } = require('../controllers/brandController');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
|
||||
router.get('/', getBrands);
|
||||
router.post('/', protect, authorize('Admin'), createBrand);
|
||||
router.put('/:id', protect, authorize('Admin'), updateBrand);
|
||||
router.delete('/:id', protect, authorize('Admin'), deleteBrand);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
12
server/routes/cartRoutes.js
Normal file
12
server/routes/cartRoutes.js
Normal file
@@ -0,0 +1,12 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getCart, addToCart, updateCartItem, removeCartItem, applyCoupon } = require('../controllers/cartController');
|
||||
|
||||
router.get('/', getCart);
|
||||
router.post('/add', addToCart);
|
||||
router.put('/update', updateCartItem);
|
||||
router.delete('/item/:itemId', removeCartItem);
|
||||
router.post('/coupon', applyCoupon);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
12
server/routes/categoryRoutes.js
Normal file
12
server/routes/categoryRoutes.js
Normal file
@@ -0,0 +1,12 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getCategories, createCategory, updateCategory, deleteCategory } = require('../controllers/categoryController');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
|
||||
router.get('/', getCategories);
|
||||
router.post('/', protect, authorize('Admin'), createCategory);
|
||||
router.put('/:id', protect, authorize('Admin'), updateCategory);
|
||||
router.delete('/:id', protect, authorize('Admin'), deleteCategory);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
11
server/routes/contactRoutes.js
Normal file
11
server/routes/contactRoutes.js
Normal file
@@ -0,0 +1,11 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { submitContactForm, getContactMessages, updateMessageStatus } = require('../controllers/contactController');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
|
||||
router.post('/', submitContactForm);
|
||||
router.get('/', protect, authorize('Admin'), getContactMessages);
|
||||
router.put('/:id/status', protect, authorize('Admin'), updateMessageStatus);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
11
server/routes/couponRoutes.js
Normal file
11
server/routes/couponRoutes.js
Normal file
@@ -0,0 +1,11 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getCoupons, createCoupon, deleteCoupon } = require('../controllers/couponController');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
|
||||
router.get('/', protect, authorize('Admin'), getCoupons);
|
||||
router.post('/', protect, authorize('Admin'), createCoupon);
|
||||
router.delete('/:id', protect, authorize('Admin'), deleteCoupon);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
10
server/routes/emailTemplateRoutes.js
Normal file
10
server/routes/emailTemplateRoutes.js
Normal file
@@ -0,0 +1,10 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getEmailTemplates, updateEmailTemplate } = require('../controllers/emailTemplateController');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
|
||||
router.get('/', protect, authorize('Admin'), getEmailTemplates);
|
||||
router.put('/:id', protect, authorize('Admin'), updateEmailTemplate);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
11
server/routes/inventoryRoutes.js
Normal file
11
server/routes/inventoryRoutes.js
Normal file
@@ -0,0 +1,11 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getStockOverview, adjustStock, getInventoryHistory } = require('../controllers/inventoryController');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
|
||||
router.get('/overview', protect, authorize('Admin'), getStockOverview);
|
||||
router.post('/adjust', protect, authorize('Admin'), adjustStock);
|
||||
router.get('/history', protect, authorize('Admin'), getInventoryHistory);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
19
server/routes/orderRoutes.js
Normal file
19
server/routes/orderRoutes.js
Normal file
@@ -0,0 +1,19 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const {
|
||||
createOrder,
|
||||
getMyOrders,
|
||||
getOrderById,
|
||||
getAllOrders,
|
||||
updateOrderStatus
|
||||
} = require('../controllers/orderController');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
|
||||
router.post('/', protect, createOrder);
|
||||
router.get('/my-orders', protect, getMyOrders);
|
||||
router.get('/admin/all', protect, authorize('Admin'), getAllOrders);
|
||||
router.get('/:id', protect, getOrderById);
|
||||
router.put('/:id/status', protect, authorize('Admin'), updateOrderStatus);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
24
server/routes/productRoutes.js
Normal file
24
server/routes/productRoutes.js
Normal file
@@ -0,0 +1,24 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const {
|
||||
getProducts,
|
||||
getGuitarRecommendations,
|
||||
getProductBySlug,
|
||||
compareProducts,
|
||||
createProduct,
|
||||
updateProduct,
|
||||
deleteProduct
|
||||
} = require('../controllers/productController');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
|
||||
router.get('/', getProducts);
|
||||
router.post('/guitar-finder', getGuitarRecommendations);
|
||||
router.post('/compare', compareProducts);
|
||||
router.get('/:slug', getProductBySlug);
|
||||
|
||||
router.post('/', protect, authorize('Admin'), createProduct);
|
||||
router.put('/:id', protect, authorize('Admin'), updateProduct);
|
||||
router.delete('/:id', protect, authorize('Admin'), deleteProduct);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
10
server/routes/reviewRoutes.js
Normal file
10
server/routes/reviewRoutes.js
Normal file
@@ -0,0 +1,10 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getProductReviews, createReview } = require('../controllers/reviewController');
|
||||
const { protect } = require('../middleware/authMiddleware');
|
||||
|
||||
router.get('/product/:productId', getProductReviews);
|
||||
router.post('/', protect, createReview);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
10
server/routes/settingsRoutes.js
Normal file
10
server/routes/settingsRoutes.js
Normal file
@@ -0,0 +1,10 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getSettings, updateSettings } = require('../controllers/settingsController');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
|
||||
router.get('/', getSettings);
|
||||
router.put('/', protect, authorize('Admin'), updateSettings);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
10
server/routes/socialMediaRoutes.js
Normal file
10
server/routes/socialMediaRoutes.js
Normal file
@@ -0,0 +1,10 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getSocialMedia, updateSocialMedia } = require('../controllers/socialMediaController');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
|
||||
router.get('/', getSocialMedia);
|
||||
router.put('/', protect, authorize('Admin'), updateSocialMedia);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
25
server/routes/uploadRoutes.js
Normal file
25
server/routes/uploadRoutes.js
Normal file
@@ -0,0 +1,25 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const upload = require('../middleware/upload');
|
||||
const { protect, authorize } = require('../middleware/authMiddleware');
|
||||
const { successResponse, errorResponse } = require('../utils/apiResponse');
|
||||
|
||||
// Single image upload
|
||||
router.post('/', protect, authorize('Admin'), upload.single('media'), (req, res) => {
|
||||
if (!req.file) {
|
||||
return errorResponse(res, 'Please upload a file', [], 400);
|
||||
}
|
||||
const fileUrl = `/uploads/${req.file.filename}`;
|
||||
return successResponse(res, 'File uploaded successfully', { url: fileUrl });
|
||||
});
|
||||
|
||||
// Multiple product images upload
|
||||
router.post('/multiple', protect, authorize('Admin'), upload.array('images', 10), (req, res) => {
|
||||
if (!req.files || req.files.length === 0) {
|
||||
return errorResponse(res, 'Please upload at least one image file', [], 400);
|
||||
}
|
||||
const urls = req.files.map(file => `/uploads/${file.filename}`);
|
||||
return successResponse(res, 'Images uploaded successfully', { urls });
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
10
server/routes/wishlistRoutes.js
Normal file
10
server/routes/wishlistRoutes.js
Normal file
@@ -0,0 +1,10 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { getWishlist, toggleWishlist } = require('../controllers/wishlistController');
|
||||
const { protect } = require('../middleware/authMiddleware');
|
||||
|
||||
router.get('/', protect, getWishlist);
|
||||
router.post('/toggle', protect, toggleWishlist);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user