Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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