Skip to content

Commit 7d26311

Browse files
author
sara
committed
Cria o controller do usuário com funções CRUD
1 parent ba18dc8 commit 7d26311

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

controllers/userController.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
const User = require("../models/user");
2+
3+
// Create new user
4+
exports.createUser = async (req, res) => {
5+
try {
6+
const user = await User.create(req.body);
7+
res.status(201).json(user);
8+
} catch (err) {
9+
res.status(400).json({ error: err.message });
10+
}
11+
};
12+
13+
// Get all users
14+
exports.getUsers = async (req, res) => {
15+
const users = await User.find();
16+
res.json(users);
17+
};
18+
19+
// Get single user by ID
20+
exports.getUserById = async (req, res) => {
21+
try {
22+
const user = await User.findById(req.params.id);
23+
if (!user) return res.status(404).json({ error: "User not found" });
24+
res.json(user);
25+
} catch (err) {
26+
res.status(400).json({ error: "Invalid ID format" });
27+
}
28+
};
29+
30+
// Update user
31+
exports.updateUser = async (req, res) => {
32+
const { id } = req.params;
33+
try {
34+
const user = await User.findByIdAndUpdate(id, req.body, {
35+
new: true,
36+
runValidators: true,
37+
});
38+
if (!user) return res.status(404).json({ error: "User not found" });
39+
res.json(user);
40+
} catch (err) {
41+
res.status(400).json({ error: err.message });
42+
}
43+
};
44+
45+
// Delete user
46+
exports.deleteUser = async (req, res) => {
47+
const { id } = req.params;
48+
try {
49+
const user = await User.findByIdAndDelete(id);
50+
if (!user) return res.status(404).json({ error: "User not found" });
51+
res.json({ message: `✅ User "${user.name}" has been deleted.` });
52+
} catch (err) {
53+
res.status(400).json({ error: err.message });
54+
}
55+
};

0 commit comments

Comments
 (0)