Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
c8c137d
Initial Commit
kaityevans Jun 29, 2022
1550eb7
basic express done
mblester Jun 29, 2022
1146734
Packages Created and Installed
kaityevans Jun 29, 2022
09ce7bc
Merge branch 'master' into morganBranch
kaityevans Jun 29, 2022
82a4a27
Merge pull request #1 from kaityevans/morganBranch
kaityevans Jun 29, 2022
2ebe73e
Nodemon Update
kaityevans Jun 29, 2022
c52f788
Nodemon Changed
kaityevans Jun 29, 2022
e820954
express routes
mblester Jun 30, 2022
04e8749
Merge pull request #2 from kaityevans/morganNew
kaityevans Jun 30, 2022
daabd91
controller folder added
kaityevans Jul 1, 2022
d3116d4
Merge pull request #3 from kaityevans/Kaitland-Hackathon
kaityevans Jul 1, 2022
35f5db8
fixed router
kaityevans Jul 1, 2022
6d73031
Merge pull request #4 from kaityevans/Kaitland-Hackathon
kaityevans Jul 1, 2022
56e90b9
Connected Everything
KHONGTUB Jul 1, 2022
40b0837
Merge pull request #5 from kaityevans/Jacob
KHONGTUB Jul 1, 2022
8328c56
All controller functions finished
KHONGTUB Jul 1, 2022
0734034
Merge pull request #6 from kaityevans/Jacob
KHONGTUB Jul 1, 2022
3cbc5b6
Updating to pull changes
kaityevans Jul 5, 2022
2d2775d
updating changes to pull master
kaityevans Jul 5, 2022
f6047f2
employeesContact controller & route added
kaityevans Jul 5, 2022
f728804
users controller and routes working
mblester Jul 7, 2022
9376b7d
Merge branch 'master' into morganNew
mblester Jul 7, 2022
7bb9759
Merge pull request #7 from kaityevans/morganNew
kaityevans Jul 7, 2022
860f49b
Fixed put & delete controllers
kaityevans Jul 8, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
node_modules
node_modules
.env
62 changes: 62 additions & 0 deletions controllers/employees.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
const res = require("express/lib/response")
const mysql = require("mysql")
const pool = require("../mysql/connection")


const getEmployees = (req, res) => {
pool.query("SELECT * FROM users", (err, rows) => {
res.json(rows);
})
}

const getEmployeesById = (req, res) => {
let id = req.params.id;
let sql = "SELECT * FROM ?? WHERE ?? = ?";
sql = mysql.format(sql, ["users", "id", id]);
res.json(rows)
}

const getEmployeesByFirstName = (req, res) => {
let firstName = req.params.first_name
let sql = `SELECT * FROM users WHERE first_name = "${firstName}"`
pool.query(sql, (err, rows) => {
return res.json(rows)
})
}

const createEmployee = (req, res) => {
console.log(req.body);
const { first_name, last_name } = req.body;
let sql = `INSERT INTO ?? VALUES (null, ?, ?)`;

sql = mysql.format(sql, ["users", first_name, last_name]);

pool.query(sql, (err, rows) => {
return res.json(rows);
})
}

const updateEmployee = (req, res) => {
const { id } = req.params;
const { body } = req;
let sql = "UPDATE ?? SET ? WHERE ?? = ?";
sql = mysql.format(sql, ["users", body, "id", id]);

pool.query(sql, (err, results) => {
return res.status(204).json();
})
}

const deleteEmployeeById = (req, res) => {
const { id } = req.params;
let sql = "DELETE FROM ?? WHERE ?? = ?;";
sql = mysql.format(sql, ["users", "id", id])

pool.query(sql, (err, results) => {
console.log(err)
console.log(results)
return res.json({ message: `Deleted ${results.affectedRows} user(s)` });
})
}

module.exports = {getEmployees, getEmployeesById, getEmployeesByFirstName, createEmployee, updateEmployee, deleteEmployeeById}
61 changes: 61 additions & 0 deletions controllers/employeesContact.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
const mysql = require("mysql");
const pool = require("../mysql/connection");

const getContact = (req, res) => {
pool.query("SELECT * FROM usersContact", (err, rows) => {
res.json(rows);
});
};

const getContactById = (req, res) => {
let id = req.params.id;
let sql = "SELECT * FROM ?? WHERE ?? = ?";
sql = mysql.format(sql, ["usersContact", "id", id]);
pool.query(sql, (err, rows) => {
res.json(rows);
})
};

const postContact = (req, res) => {
console.log(req.body)
const {user_id, phone1, phone2, email} = req.body
let sql = `INSERT INTO usersContact
(user_id, phone1, phone2, email)
VALUES
(?, ?, ?, ?);`;
sql = mysql.format(sql, [user_id, phone1, phone2, email]);
pool.query(sql, (err, results) => {
return res.json(results);
});
};
const putContact = (req, res) => {
console.log(req.body)
let id = req.params.id;
const {phone1, phone2, email} = req.body
let sql = `UPDATE usersContact
SET phone1 = ? , phone2 = ?, email = ?
WHERE user_id = ${id}`;
sql = mysql.format(sql, [phone1, phone2, email]);
pool.query(sql, (err, results) => {
return res.json(results);
});
}

const deleteContact = (req, res) => {
console.log(req.body)
// Get the Id from the path parameters
let id = req.params.id;
// DON'T FORGET THE POOL.QUERY!
pool.query(`DELETE FROM usersContact
WHERE user_id = ${id}`, (err, results) => {
return res.json(results);
})
}

module.exports = {
getContact,
getContactById,
postContact,
putContact,
deleteContact
};
19 changes: 19 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const express = require('express');
const app = express();
const employees = require('./routes/employee');
const contact = require("./routes/employeesContact")

const port = process.env.PORT || 4001;

app.use(express.json())
app.use( employees)
app.use( contact)

app.get('/', (req, res) => {
res.send('Welcome to our API!')
})

app.listen(port, () => {
console.log(`Web server is listening on port ${port}!`)
})

29 changes: 29 additions & 0 deletions mysql/connection.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
const mysql = require("mysql");

require("dotenv").config();

const { DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE, DB_PORT } = process.env;

class Connection {
constructor() {
if (!this.pool) {
console.log("creating connection");
this.pool = mysql.createPool({
connectionLimit: 100,
host: DB_HOST,
user: DB_USER,
password: DB_PASSWORD,
database: DB_DATABASE,
port: DB_PORT,
});

return this.pool;
}

return this.pool;
}
}

const connection = new Connection();

module.exports = connection;
Loading