|
1 | 1 | import User from '../models/User.js'; |
2 | 2 |
|
3 | | -// GET all users |
| 3 | +// GET /api/users |
4 | 4 | export const getAllUsers = async (req, res) => { |
5 | 5 | try { |
6 | | - const users = await User.find().select('-passwordHash'); // Ne jamais renvoyer les passwords |
| 6 | + const users = await User.find().select('-passwordHash'); |
7 | 7 | res.json(users); |
8 | 8 | } catch (err) { |
9 | | - res.status(500).json({ message: err.message }); |
| 9 | + console.error('GET ALL USERS ERROR:', err); |
| 10 | + res.status(500).json({ message: 'Erreur serveur' }); |
10 | 11 | } |
11 | 12 | }; |
12 | 13 |
|
13 | | -// GET single user |
14 | 14 | export const getUserById = async (req, res) => { |
15 | 15 | try { |
16 | 16 | const user = await User.findById(req.params.id).select('-passwordHash'); |
17 | | - if (!user) return res.status(404).json({ message: 'User not found' }); |
| 17 | + if (!user) return res.status(404).json({ message: 'Utilisateur introuvable' }); |
18 | 18 | res.json(user); |
19 | 19 | } catch (err) { |
20 | | - res.status(500).json({ message: err.message }); |
| 20 | + console.error('GET USER ERROR:', err); |
| 21 | + res.status(500).json({ message: 'Erreur serveur' }); |
21 | 22 | } |
22 | 23 | }; |
23 | 24 |
|
24 | | -// POST create user |
25 | 25 | export const createUser = async (req, res) => { |
26 | 26 | try { |
27 | | - const { email, password, role, firstName, lastName } = req.body; |
28 | | - const user = new User({ email, role, firstName, lastName }); |
29 | | - await user.setPassword(password); |
| 27 | + const { email, firstName, lastName, role } = req.body; |
| 28 | + const user = new User({ email, firstName, lastName, role }); |
30 | 29 | await user.save(); |
31 | | - res.status(201).json({ message: 'User created', userId: user._id }); |
| 30 | + res.status(201).json(user); |
32 | 31 | } catch (err) { |
33 | | - res.status(400).json({ message: err.message }); |
| 32 | + res.status(500).json({ message: err.message }); |
34 | 33 | } |
35 | 34 | }; |
36 | 35 |
|
37 | | -// PUT update user |
38 | 36 | export const updateUser = async (req, res) => { |
39 | 37 | try { |
40 | | - const { email, role, firstName, lastName, isActive, password } = req.body; |
41 | | - const user = await User.findById(req.params.id); |
42 | | - if (!user) return res.status(404).json({ message: 'User not found' }); |
43 | | - |
44 | | - if (email) user.email = email; |
45 | | - if (role) user.role = role; |
46 | | - if (firstName) user.firstName = firstName; |
47 | | - if (lastName) user.lastName = lastName; |
48 | | - if (isActive !== undefined) user.isActive = isActive; |
49 | | - if (password) await user.setPassword(password); |
50 | | - |
51 | | - await user.save(); |
52 | | - res.json({ message: 'User updated' }); |
| 38 | + const user = await User.findByIdAndUpdate(req.params.id, req.body, { new: true }).select('-passwordHash'); |
| 39 | + res.json(user); |
53 | 40 | } catch (err) { |
54 | | - res.status(400).json({ message: err.message }); |
| 41 | + res.status(500).json({ message: err.message }); |
55 | 42 | } |
56 | 43 | }; |
57 | 44 |
|
58 | | -// DELETE user |
59 | 45 | export const deleteUser = async (req, res) => { |
60 | 46 | try { |
61 | | - const user = await User.findByIdAndDelete(req.params.id); |
62 | | - if (!user) return res.status(404).json({ message: 'User not found' }); |
63 | | - res.json({ message: 'User deleted' }); |
| 47 | + await User.findByIdAndDelete(req.params.id); |
| 48 | + res.json({ message: 'Utilisateur supprimé' }); |
64 | 49 | } catch (err) { |
65 | 50 | res.status(500).json({ message: err.message }); |
66 | 51 | } |
|
0 commit comments