commit
fed83277ef
@ -0,0 +1,106 @@ |
||||
const express = require('express') |
||||
const app = express() |
||||
const port = 3001 |
||||
const bodyParser = require('body-parser') |
||||
const { json } = require('body-parser') |
||||
|
||||
app.listen(port, () => console.log(`Example app listening at http://localhost:${port}`)) |
||||
app.use(bodyParser.json()) |
||||
app.use( |
||||
bodyParser.urlencoded({ |
||||
extended: true, |
||||
}) |
||||
) |
||||
|
||||
|
||||
const Pool = require('pg').Pool |
||||
const pool = new Pool({ |
||||
user: 'nick', |
||||
password: 'nb084406', |
||||
host: 'localhost', |
||||
database: 'ecommerce_db', |
||||
port: 5432, |
||||
}) |
||||
|
||||
const getUsers = (request, response) => { |
||||
pool.query('SELECT * FROM users ORDER BY id ASC', (error, results) => { |
||||
if (error) { |
||||
throw error |
||||
} |
||||
response.status(200).json(results.rows) |
||||
}) |
||||
} |
||||
|
||||
app.get('/', getUsers) |
||||
|
||||
|
||||
const getUserByName = (request, response) => { |
||||
pool.query('SELECT * FROM users WHERE firstname = $1 or lastname = $1', [request.params.name], (error, results) => { |
||||
if (error) { |
||||
throw error |
||||
} |
||||
response.status(200).json(results.rows) |
||||
}) |
||||
} |
||||
|
||||
app.get('/users/:name', getUserByName) |
||||
|
||||
|
||||
const addUser = (request, response) => { |
||||
pool.query('INSERT INTO users (firstname, lastname, email) VALUES ($1, $2, $3) RETURNING *',
|
||||
[request.body.firstname, request.body.lastname, request.body.email], (error, results) => { |
||||
if (error) { |
||||
throw error |
||||
} |
||||
response.status(200).json(results.rows) |
||||
}) |
||||
} |
||||
|
||||
app.post('/users/adduser', addUser) |
||||
|
||||
|
||||
|
||||
const updateUser = (request, response) => { |
||||
const id = parseInt(request.params.id) |
||||
const { firstname, lastname, email } = request.body |
||||
|
||||
pool.query( |
||||
'UPDATE users SET firstName = $1, lastName = $2, email = $3 WHERE id = $4 RETURNING *', |
||||
[firstname, lastname, email, id], |
||||
(error, results) => { |
||||
if (results.rowCount === 0) { |
||||
response.send("Hey that user id doesn't exist") |
||||
} else { |
||||
|
||||
response.status(200).send(`Updated user ${id}`) |
||||
} |
||||
} |
||||
) |
||||
} |
||||
app.put('/users/update/:id', updateUser) |
||||
|
||||
|
||||
const deleteUser = (request, response) => { |
||||
const id = parseInt(request.params.id) |
||||
|
||||
pool.query( |
||||
'DELETE FROM users WHERE id = $1', [id],
|
||||
(error, results) => { |
||||
if (results.rowCount === 0) { |
||||
response.send("Hey that user id doesn't exist") |
||||
} else { |
||||
|
||||
response.status(200).send(`Deleted user ${id}`) |
||||
} |
||||
} |
||||
) |
||||
} |
||||
|
||||
app.delete('/users/delete/:id', deleteUser) |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// console.log(JSON.stringify(results))
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,18 @@ |
||||
{ |
||||
"name": "ecommerce_db", |
||||
"version": "1.0.0", |
||||
"description": "", |
||||
"main": "app.js", |
||||
"dependencies": { |
||||
"express": "^4.17.1", |
||||
"nodemon": "^2.0.4", |
||||
"pg": "^8.2.1" |
||||
}, |
||||
"devDependencies": {}, |
||||
"scripts": { |
||||
"test": "echo \"Error: no test specified\" && exit 1" |
||||
}, |
||||
"keywords": [], |
||||
"author": "", |
||||
"license": "ISC" |
||||
} |
Loading…
Reference in new issue