Skip to content

Commit 50c8f6d

Browse files
author
Victor
committed
feat: add methods to delete a user
1 parent 2679d92 commit 50c8f6d

2 files changed

Lines changed: 24 additions & 1 deletion

File tree

src/controllers/UserController.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@ class UserController {
4242

4343
async delete(request, response) {
4444
const { id } = request.params;
45+
const result = await User.find({ where: { id } });
46+
const user = result[0];
47+
48+
if (!user)
49+
return response.status(400).json({ error: 'User not found!' });
50+
51+
await User.delete({ where: { id } });
52+
return response.status(204).send();
4553
}
4654
}
4755

src/models/User.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,23 @@ class User {
7272
return;
7373
}
7474

75-
async delete() {
75+
async delete(filters) {
76+
let query = 'DELETE FROM users';
7677

78+
if (filters)
79+
Object.keys(filters).forEach(filter => {
80+
query += ` ${filter.toUpperCase()}`;
81+
82+
Object.keys(filters[filter]).forEach(field => {
83+
if (filters[filter][field] !== null)
84+
query += ` ${field} = '${filters[filter][field]}'`;
85+
else
86+
query += ` ${field} = null`;
87+
});
88+
});
89+
90+
await database.query(query);
91+
return;
7792
}
7893
}
7994

0 commit comments

Comments
 (0)