Utilisation simultanée de mongodb et mysql

This commit is contained in:
Rampeur
2025-08-14 18:22:05 +02:00
parent 49b1a3f6b3
commit 8a011af73a
40 changed files with 3003 additions and 152 deletions
+49 -31
View File
@@ -1,42 +1,60 @@
const { ArticleService } = require('../services/article.service');
const { ArticleService } = require('../services');
const createArticle = async (req, res) => {
try {
const { name, description, userId } = req.body;
try {
const { slug, title, description, body, authorId } = req.body;
const article = await ArticleService.createArticle({
name,
description,
userId,
});
const article = await ArticleService.createArticle({
slug,
title,
description,
body,
authorId
});
res.status(201).json({
message: 'Article created successfully',
data: article,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while creating article',
error: err.message,
});
}
res.status(201).json({
message: 'Article created successfully',
data: article,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while creating article',
error: err.message,
});
}
};
const getAllArticles = async (req, res) => {
try {
const articles = await ArticleService.getAllArticles();
res.status(200).json({
data: articles,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while fetching articles',
error: err.message,
});
}
};
const getArticlesByUserId = async (req, res) => {
try {
const { userId } = req.params;
try {
const { authorId } = req.params;
const articles = await ArticleService.getArticlesByUserId(userId);
const articles = await ArticleService.getArticlesByUserId(authorId);
res.status(200).json({
data: articles,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while fetching articles',
error: err.message,
});
}
res.status(200).json({
data: articles,
});
} catch (err) {
console.log(err);
res.status(500).json({
message: 'something went wrong while fetching articles',
error: err.message,
});
}
};
module.exports = { createArticle, getArticlesByUserId };
module.exports = { createArticle, getAllArticles, getArticlesByUserId };
+42
View File
@@ -0,0 +1,42 @@
const { CommentService } = require('../services');
const createComment = async (req, res) => {
try {
const { slug, title, description, body, authorId } = req.body;
const comment = await CommentService.createComment({
slug,
title,
description,
body,
authorId
});
res.status(201).json({
message: 'Comment created successfully',
data: comment,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while creating comment',
error: err.message,
});
}
};
const getAllComments = async (req, res) => {
try {
const comments = await CommentService.getAllComments();
res.status(200).json({
data: comments,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while fetching comments',
error: err.message,
});
}
};
module.exports = { createComment, getAllComments };
+42
View File
@@ -0,0 +1,42 @@
const { TagService } = require('../services');
const createTag = async (req, res) => {
try {
const { slug, title, description, body, authorId } = req.body;
const tag = await TagService.createTag({
slug,
title,
description,
body,
authorId
});
res.status(201).json({
message: 'Tag created successfully',
data: tag,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while creating tag',
error: err.message,
});
}
};
const getAllTags = async (req, res) => {
try {
const tags = await TagService.getAllTags();
res.status(200).json({
data: tags,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while fetching tags',
error: err.message,
});
}
};
module.exports = { createTag, getAllTags };
+71 -26
View File
@@ -1,36 +1,81 @@
const { UserService } = require('../services/user.service');
//const { UserService } = require('../services/user.service');
const { UserService } = require('../services');
const passport = require('passport');
const createUser = async (req, res) => {
try {
const { name, email } = req.body;
try {
const { name, email } = req.body;
const user = await UserService.createUser({ name, email });
const user = await UserService.createUser({ name, email });
res.status(201).json({
message: 'User created successfully',
data: user,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while creating user',
error: err.message,
});
}
res.status(201).json({
message: 'User created successfully',
data: user,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while creating user',
error: err.message,
});
}
};
const getAllUsers = async (req, res) => {
try {
const users = await UserService.getAllUsers();
try {
const users = await UserService.getAllUsers();
res.status(200).json({
data: users,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while fetching users',
error: err.message,
});
}
res.status(200).json({
data: users,
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while fetching users',
error: err.message,
});
}
};
module.exports = { createUser, getAllUsers };
const getUser = async (req, res) => {
try {
const user = await UserService.getUserById(req.payload.id);
console.log(req.payload);
res.status(200).json({
user: user.toAuthJSON(),
});
} catch (err) {
res.status(500).json({
message: 'something went wrong while fetching user',
error: err.message,
});
}
};
const loginAsUser = async (req, res, next) => {
try {
if (!req.body.user.email) {
return res.status(422).json({ errors: { email: "email can't be blank" } });
}
if (!req.body.user.password) {
return res.status(422).json({ errors: { password: " password can't be blank" } });
}
passport.authenticate('local', { session: false }, function (err, user, info) {
if (err) {
return next(err);
}
if (user) {
user.token = user.generateJWT();
return res.json({ user: user.toAuthJSON() });
} else {
return res.status(422).json(info);
}
})(req, res, next);
} catch (err) {
res.status(500).json({
message: 'something went wrong while fetching users',
error: err.message,
});
}
};
module.exports = { createUser, getAllUsers, getUser, loginAsUser };