Mise à jour de controleurs, models et routes

This commit is contained in:
Rampeur
2025-08-19 05:13:24 +02:00
parent f8d8ff2329
commit b1513dccdd
21 changed files with 905 additions and 113 deletions
-11
View File
@@ -1,11 +0,0 @@
const express = require('express');
const { createArticle, getAllArticles, getArticlesByUserId } = require('../../controllers/article.controller');
const auth = require('../auth');
const articleRouter = express.Router();
articleRouter.post('/', auth.required, createArticle);
articleRouter.get('/', auth.optional, getAllArticles);
articleRouter.get('/:authorId', auth.optional, getArticlesByUserId);
module.exports = articleRouter;
+25
View File
@@ -0,0 +1,25 @@
const express = require('express');
const {
getArticle,
getArticles,
createArticle,
articlesFeed,
deleteArticle,
updateArticle,
addFavoriteArticle,
deleteFavoriteArticle
} = require('../../controllers/article.controller');
const auth = require('../auth');
const articleRouter = express.Router();
articleRouter.get('/', auth.optional, getArticles);
articleRouter.post('/', auth.required, createArticle);
articleRouter.get('/feed', auth.required, articlesFeed);
articleRouter.get('/:slug', auth.optional, getArticle);
articleRouter.put('/:slug', auth.required, updateArticle);
articleRouter.delete('/:slug', auth.required, deleteArticle);
articleRouter.post('/:slug/favorite', auth.required, addFavoriteArticle);
articleRouter.delete('/:slug/favorite', auth.required, deleteFavoriteArticle);
module.exports = articleRouter;
+2 -1
View File
@@ -14,8 +14,9 @@ routes.use('/pages', require('./pages'));
routes.use('/qcm', require('./qcm'));
routes.use('/user', require('./user.routes'));
routes.use('/article', require('./article.routes'));
routes.use('/articles', require('./articles.routes'));
routes.use('/comment', require('./comment.routes'));
routes.use('/products', require('./products.routes'));
routes.use('/tag', require('./tag.routes'));
routes.use(function (err, req, res, next) {
+25
View File
@@ -0,0 +1,25 @@
const express = require('express');
const {
getProduct,
getProducts,
createProduct,
productsFeed,
addFavoriteProduct,
deleteFavoriteProduct,
deleteProduct,
updateProduct,
} = require('../../controllers/product.controller');
const auth = require('../auth');
const productRouter = express.Router();
productRouter.get('/', auth.optional, getProducts);
productRouter.post('/', auth.required, createProduct);
productRouter.get('/feed', auth.required, productsFeed);
productRouter.get('/:slug', auth.optional, getProduct);
productRouter.put('/:slug', auth.required, updateProduct);
productRouter.delete('/:slug', auth.required, deleteProduct);
productRouter.post('/:slug/favorite', auth.required, addFavoriteProduct);
productRouter.delete('/:slug/favorite', auth.required, deleteFavoriteProduct);
module.exports = productRouter;
+6 -3
View File
@@ -1,12 +1,15 @@
const express = require('express');
const { createUser, getAllUsers, getUser, loginAsUser } = require('../../controllers/user.controller');
const { authenticate, createUser, getUser, loginAsUser, updateUser } = require('../../controllers/user.controller');
const auth = require('../auth');
const userRouter = express.Router();
userRouter.get('/', auth.required, getUser);
userRouter.get('/users', auth.required, getAllUsers);
userRouter.put('/', auth.required, updateUser);
userRouter.post('/', auth.optional, createUser);
userRouter.get('/authenticate', auth.optional, authenticate);
//userRouter.get('/users', auth.required, getAllUsers);
userRouter.post('/login', auth.optional, loginAsUser);
userRouter.post('/register', auth.optional, createUser);
//userRouter.post('/register', auth.optional, createUser);
module.exports = userRouter;
+1
View File
@@ -96,6 +96,7 @@ router.get('/authenticate', function (req, res, next) {
}
})(req, res, next);
});
router.post('/users', function (req, res, next) {
let user = new User();
if (typeof req.body.user.username !== 'undefined') {
-12
View File
@@ -32,8 +32,6 @@ const auth = {
if(req.headers.authorization && req.headers.authorization.split(' ')[0] === process.env.AUTHORIZATION_PREFIX) {
passport.authenticate('headerapikey', { session: false }, function (err, application, info) {
if (err) {
//return res.json({message: "An authentication error occured (required).", err: err.message});
//return res.status(err.status || 500).json({message: "An authentication error occured (required).", err: err.message});
return next({message: "An authentication error occured.", err: err.message});
}
if (!application) {
@@ -41,17 +39,7 @@ const auth = {
}
req.application = application;
req.payload = {id: application.author._id};
//console.log(application);
//console.log(application.author._id);
return next();
/*
return jwt({
secret: secret,
algorithms: ['HS256'],
requestProperty: 'payload',
getToken: application.author.toAuthJSON().token
})(req, res, next);
*/
})(req, res, next);
} else {
return jwt({