|
1 |
| -const client = require("./client") |
| 1 | +const db = require("./db") |
2 | 2 |
|
3 |
| -module.exports = { |
| 3 | +const ret = { |
4 | 4 | getUser: ({ id }) => {
|
5 |
| - |
| 5 | + return db.query("SELECT * FROM users WHERE id = $1", [id]) |
| 6 | + .then(res => res.rows[0]) |
6 | 7 | },
|
7 |
| - makeUser: ({ id, name, email, division, password }) => { |
8 |
| - |
| 8 | + makeUser: ({ name, email, division, password }) => { |
| 9 | + return db.query("INSERT INTO users (name, email, division, password) VALUES ($1, $2, $3, $4) RETURNING *", |
| 10 | + [name, email, division, password] |
| 11 | + ) |
| 12 | + .then(res => res.rows[0]) |
9 | 13 | },
|
10 | 14 | updateUser: ({ id, name, email, division, password }) => {
|
| 15 | + return ret.getUser({ id }) |
| 16 | + .then(user => { |
| 17 | + const upd = {name, email, division, password}; |
| 18 | + Object.keys(upd).forEach(key => { |
| 19 | + if(upd[key] === undefined) delete upd[key]; |
| 20 | + }); |
11 | 21 |
|
| 22 | + user = Object.assign(user, upd); |
| 23 | + |
| 24 | + return db.query("UPDATE users SET name = $1, email = $2, division = $3, password = $4 WHERE id = $5 RETURNING *", |
| 25 | + [user.name, user.email, user.division, user.password, user.id] |
| 26 | + ) |
| 27 | + }) |
| 28 | + .then(res => res.rows[0]) |
12 | 29 | }
|
13 | 30 | }
|
| 31 | + |
| 32 | +module.exports = ret; |
0 commit comments