49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
import { User, Role } from '../models/index.js';
|
|
|
|
export default {
|
|
async create(req, res) {
|
|
try {
|
|
const user = await User.create(req.body);
|
|
res.status(201).json(user);
|
|
} catch (err) {
|
|
res.status(400).json({ error: err.message });
|
|
}
|
|
},
|
|
async getAll(req, res) {
|
|
try {
|
|
const users = await User.findAll({ include: Role });
|
|
res.json(users);
|
|
} catch (err) {
|
|
res.status(500).json({ error: err.message });
|
|
}
|
|
},
|
|
async getById(req, res) {
|
|
try {
|
|
const user = await User.findByPk(req.params.id, { include: Role });
|
|
if (!user) return res.status(404).json({ error: 'User not found' });
|
|
res.json(user);
|
|
} catch (err) {
|
|
res.status(500).json({ error: err.message });
|
|
}
|
|
},
|
|
async update(req, res) {
|
|
try {
|
|
const user = await User.findByPk(req.params.id);
|
|
if (!user) return res.status(404).json({ error: 'User not found' });
|
|
await user.update(req.body);
|
|
res.json(user);
|
|
} catch (err) {
|
|
res.status(400).json({ error: err.message });
|
|
}
|
|
},
|
|
async delete(req, res) {
|
|
try {
|
|
const user = await User.findByPk(req.params.id);
|
|
if (!user) return res.status(404).json({ error: 'User not found' });
|
|
await user.destroy();
|
|
res.json({ message: 'User deleted' });
|
|
} catch (err) {
|
|
res.status(500).json({ error: err.message });
|
|
}
|
|
},
|
|
};
|