Newer
Older
const bcrypt = require('bcryptjs');
const db = require('../models/db');
let { username, lastname, firstname, birthdate, password } = req.body;
try {
let result = await userServices.signup(username, lastname, firstname, birthdate, password)
res.status(201).json({ message: 'Utilisateur ajouté' });
} catch (error) {
try {
let loggedin = await userServices.login(username, password);
if (loggedin) {
req.session.username = username;
res.status(200).json({ message: 'Connecté !' });
} else {
res.status(401).json({ message: 'Identifiant ou mot de passe incorrect' });
req.session.username = null;
res.status(200).json({ message: 'Déconnecté !' });
};
let username = req.session.username;
//renvoyer login, nom, prenom, dateNais
let result = await userServices.getUserInformations(username);
let infos = {
username: result.login,
lastname: result.nom,
firstname: result.prenom,
birthdate: result.dateNais
};
res.status(200).json(infos);
exports.getUserSeenMovies= async (req, res, next) => {
let username = req.session.username;
try {
let result = await userServices.getUserSeenMovies(username);
res.status(200).json(result);
} catch (error) {
res.status(500).json({ error : error.toString()});
}
};
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
// exports.changeUserInfos = async (req, res, next) => {
// try {
// const { newUsername, newPassword } = req.params;
// const currentUsername = req.session.username; // Supposant que le nom d'utilisateur actuel est stocké dans la session
// console.log(req.params);
// console.log(req.body);
// console.log(newUsername);
// if (!newUsername && !newPassword) {
// return res.status(400).json({ message: 'Aucune information à mettre à jour' });
// }
// // Vérification si le nouvel utilisateur existe déjà
// if (newUsername) {
// const userExists = await checkUserExists(newUsername);
// if (userExists) {
// return res.status(409).json({ message: 'Le nouvel utilisateur existe déjà' });
// }
// }
// // Mise à jour du nom d'utilisateur et/ou du mot de passe dans la base de données
// const updateResult = await updateUserInfo(currentUsername, newUsername, newPassword);
// // Vérification si la mise à jour a réussi
// if (updateResult) {
// req.session.username = newUsername || currentUsername; // Mettre à jour le nom d'utilisateur dans la session si applicable
// res.status(200).json({ message: 'Informations utilisateur mises à jour avec succès' });
// } else {
// res.status(500).json({ message: 'Échec de la mise à jour des informations utilisateur' });
// }
// } catch (error) {
// console.error('Erreur lors de la mise à jour des informations utilisateur :', error);
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
// }
// };
// // Fonction pour vérifier si un utilisateur existe déjà dans la base de données
// async function checkUserExists(username) {
// const queryResult = await new Promise((resolve, reject) => {
// db.query('SELECT COUNT(*) c FROM Utilisateur WHERE login=?', [username], (error, results, fields) => {
// if (error) {
// reject(error);
// } else {
// resolve(results[0].c > 0);
// }
// });
// });
// return queryResult;
// }
// // Fonction pour mettre à jour le nom d'utilisateur et/ou le mot de passe dans la base de données
// async function updateUserInfo(currentUsername, newUsername, newPassword) {
// const updateResult = await new Promise((resolve, reject) => {
// let updateQuery = 'UPDATE Utilisateur SET';
// const updateParams = [];
// if (newUsername) {
// updateQuery += ' login=?,';
// updateParams.push(newUsername);
// }
// if (newPassword) {
// updateQuery += ' mdp=?,';
// const hash = bcrypt.hashSync(newPassword, 10);
// updateParams.push(hash);
// }
// // Supprimer la virgule finale de la requête
// updateQuery = updateQuery.replace(/,$/, '');
// // Ajouter la clause WHERE pour le nom d'utilisateur actuel
// updateQuery += ' WHERE login=?';
// updateParams.push(currentUsername);
// // Exécution de la mise à jour
// db.query(updateQuery, updateParams, (error, results, fields) => {
// if (error) {
// reject(error);
// } else {
// resolve(true);
// }
// });
// });
// return updateResult;
// }