Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
5fbd4d9
adding sql folder
jeffmcrockett Apr 21, 2021
49399de
adding Yousif's GH db
jeffmcrockett Apr 22, 2021
4125d52
Merge pull request #1 from jeffmcrockett/jeff
jeffmcrockett Apr 22, 2021
5a38263
now connected to jeff's GH db
jeffmcrockett Apr 22, 2021
b905092
Merge pull request #2 from jeffmcrockett/jeff
jeffmcrockett Apr 22, 2021
de8519b
adding controller and routes folders and files
jeffmcrockett Apr 22, 2021
a0880e2
Merge pull request #3 from jeffmcrockett/jeff
jeffmcrockett Apr 22, 2021
6a22773
starting point?
jeffmcrockett Apr 22, 2021
7911dfd
Merge pull request #4 from jeffmcrockett/jeff
jeffmcrockett Apr 22, 2021
5410e04
updated to include sql package and started router and controller files
jeffmcrockett Apr 22, 2021
72db82d
Merge pull request #5 from jeffmcrockett/jeff
jeffmcrockett Apr 22, 2021
be18193
this is my skeleton
cesarrrc Apr 23, 2021
139e20a
Merge branch 'master' into cesar
jeffmcrockett Apr 23, 2021
9226142
Merge pull request #6 from jeffmcrockett/cesar
jeffmcrockett Apr 23, 2021
0ed304d
merging jeff's delete
jeffmcrockett Apr 23, 2021
7af2c10
Delete controller directory
jeffmcrockett Apr 23, 2021
1138b4d
Delete routes.js
jeffmcrockett Apr 23, 2021
54ee49f
update
jeffmcrockett Apr 23, 2021
3673d10
Merge pull request #7 from jeffmcrockett/jeff
jeffmcrockett Apr 23, 2021
786735d
added connection to sql
cesarrrc Apr 23, 2021
a7e7a85
Merge pull request #9 from jeffmcrockett/cesar
jeffmcrockett Apr 23, 2021
4518c20
first logic
cesarrrc Apr 23, 2021
fc473c4
Merge pull request #10 from jeffmcrockett/cesar
jeffmcrockett Apr 23, 2021
3ef0a6f
made changes to routes/employees and controllers/employees files. I c…
cesarrrc Apr 23, 2021
042753c
added departments to controller and routes folders. finished the logi…
cesarrrc Apr 23, 2021
4b9052d
Merge pull request #11 from jeffmcrockett/cesar
jeffmcrockett Apr 25, 2021
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
196 changes: 0 additions & 196 deletions README.md

This file was deleted.

90 changes: 90 additions & 0 deletions controllers/departments.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
const connection = require('../sql/connection')

const getDepartments = (req, res) => {
console.log(`inside the GET /departments route`);
connection.query('SELECT * FROM departments LIMIT 100', function(err, results){
if(err){
console.log(`there is an error: ${err}`);
res.status(500).send(`internal service error`)
} else {
res.json(results)
}
});
};

const getDepartmentsByNo = (req, res) => {
console.log(`inside the GET /departments/:dept_no route`);
connection.query(`SELECT * FROM departments WHERE dept_no = '${req.params.dept_no}'`, function(err, results){
if(err){
console.log(`there is an error: ${err}`);
res.status(500).send(`internal service error`)
} else {
res.json(results)
}
});
};

const getManagersByDeptNo = (req, res) => {
console.log(`inside the GET /departments/managers/:dept_no route`);
connection.query(
`SELECT
employees.emp_no,
employees.first_name,
employees.last_name,
employees.hire_date,
departments.dept_name,
departments.dept_no,
dept_manager.from_date,
dept_manager.to_date
FROM employees
JOIN dept_manager
JOIN departments
WHERE
dept_manager.to_date > CURDATE()
AND
departments.dept_no = '${req.params.dept_no}'
AND
dept_manager.emp_no = employees.emp_no`
, function(err, results){
if(err){
console.log(`there is an error: ${err}`);
res.status(500).send(`internal service error`)
} else {
res.json(results)
}
});
};

const getEmployeesByDeptNo = (req, res) => {
console.log(`inside the GET /departments/employees/:dept_no route`);
connection.query(
`SELECT
employees.emp_no,
employees.first_name,
employees.last_name,
employees.hire_date,
departments.dept_name,
departments.dept_no,
dept_emp.from_date,
dept_emp.to_date
FROM employees
JOIN dept_emp
JOIN departments
WHERE
dept_emp.to_date > CURDATE()
AND
departments.dept_no = '${req.params.dept_no}'
AND
dept_emp.emp_no = employees.emp_no
LIMIT 100`
, function(err, results){
if(err){
console.log(`there is an error: ${err}`);
res.status(500).send(`internal service error`)
} else {
res.json(results)
}
});
};

module.exports = { getDepartments, getDepartmentsByNo, getManagersByDeptNo, getEmployeesByDeptNo };
41 changes: 41 additions & 0 deletions controllers/employees.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
const connection = require('../sql/connection')

const getEmployees = (req, res) => {
console.log(`inside the GET /employees list route`);
connection.query('SELECT * FROM employees LIMIT 100', function(err, results){
if(err){
console.log(`there is an error: ${err}`);
res.status(500).send(`internal service error`)
} else {
res.json(results)
}
});
};

const getEmployeesById = (req, res) => {
console.log(`inside the GET /employees/:id by id route`);
let sql = `SELECT * FROM employees WHERE emp_no = ${req.params.id}`;
connection.query(sql, (err, results) => {
if(err){
console.log(`there is an error : ${err}`);
res.status(500).send(`internal service error`)
};
console.log(results);
res.json(results)
})
};

const getEmployeesByFirstName = (req, res) => {
console.log(`inside the GET /employees/firstname/:first_name route`);
let sql = `SELECT * FROM employees WHERE first_name = '${req.params.first_name}'`;
connection.query(sql, (err, results) => {
if(err){
console.log(`there is an error : ${err}`);
res.status(500).send(`internal service error (employee by firstname), ${req.params.first_name}`)
};
console.log(results);
res.json(results)
})
};

module.exports = { getEmployees, getEmployeesById, getEmployeesByFirstName };
20 changes: 20 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const employees = require('./routes/employees')
const departments = require('./routes/departments')

app.use(bodyParser.json());
app.use(employees)
app.use(departments)

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

app.get("/", (req, res) => {
console.log(`inside our 1st GET route`);
res.send(`Welcome to our API!`)
})

app.listen(port, () => {
console.log(`Web Server is listening on port ${3000}`)
})
Loading