feat(validation): replace fieldValidation with express-validator on products and tags
Add products.validators.js and tags.validators.js following the same pattern as articles/users. Wire createProductRules, updateProductRules, and createTagRules into their respective routes via the validate middleware. Remove the local fieldValidation helper from both controllers and fix missing return statements on next() calls in products.controller.js.
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
const express = require('express');
|
||||
const { createTag, deleteTag, getAllTags } = require('../../../controllers/tags.controller');
|
||||
const auth = require('../../../middlewares/auth');
|
||||
const validate = require('../../../middlewares/validate');
|
||||
const { createTagRules } = require('../../../middlewares/validators/tags.validators');
|
||||
|
||||
const tagRouter = express.Router();
|
||||
|
||||
tagRouter.post('/', auth.required, createTag);
|
||||
tagRouter.post('/', auth.required, createTagRules, validate, createTag);
|
||||
tagRouter.get('/', auth.optional, getAllTags);
|
||||
tagRouter.delete('/:name', auth.required, deleteTag);
|
||||
|
||||
|
||||
@@ -9,13 +9,15 @@ const {
|
||||
updateProduct,
|
||||
} = require('../../../controllers/products.controller');
|
||||
const auth = require('../../../middlewares/auth');
|
||||
const validate = require('../../../middlewares/validate');
|
||||
const { createProductRules, updateProductRules } = require('../../../middlewares/validators/products.validators');
|
||||
|
||||
const productRouter = express.Router();
|
||||
|
||||
productRouter.get('/', auth.optional, getProducts);
|
||||
productRouter.post('/', auth.required, createProduct);
|
||||
productRouter.post('/', auth.required, createProductRules, validate, createProduct);
|
||||
productRouter.get('/:slug', auth.optional, getProduct);
|
||||
productRouter.put('/:slug', auth.required, updateProduct);
|
||||
productRouter.put('/:slug', auth.required, updateProductRules, validate, updateProduct);
|
||||
productRouter.delete('/:slug', auth.required, deleteProduct);
|
||||
productRouter.post('/:slug/favorite', auth.required, addFavoriteProduct);
|
||||
productRouter.delete('/:slug/favorite', auth.required, deleteFavoriteProduct);
|
||||
|
||||
Reference in New Issue
Block a user