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
5 changes: 5 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
DB_HOST=database-1.c2ycqog1e8of.us-east-2.rds.amazonaws.com
DB_USER=admin
DB_PASSWORD='Luca061519!'
DB_DATABASE=testDatabase
DB_PORT=3306
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ We will use ONE person's Google Cloud database for this assignment. The steps fo

2. Type `quit` when you want to exit the process

#### Import data
#### Import data*****

We are going to use sample data given to use by MySQL. An overview of the process exists here: https://dev.mysql.com/doc/employee/en/

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

require('dotenv').config()

const {DB_HOST, DB_PASSWORD, DB_USER, DB_DATABASE, DB_PORT} = process.env
console.log(DB_HOST, DB_USER, DB_DATABASE, DB_PORT)
const pool = mysql.createPool({
host: DB_HOST,
user: DB_USER,
database: DB_DATABASE,
connectionLimit: 100,
port: DB_PORT,
password: DB_PASSWORD,
});


module.exports = pool
158 changes: 158 additions & 0 deletions controller/actors.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
// <<<<<<< Bryan
const mysql = require('mysql2');
const pool = require('../sql/connection');

const getActors = (req, res) => {
pool.query('SELECT * FROM actors', (err, rows) => {
if (err) {
console.log(err);
res.status(500).send('Something went wrong');
return;
}
res.json(rows);
});
};

const getActorById = (req, res) => {
const { id } = req.params;
pool.query('SELECT * FROM actors WHERE id = ?', [id], (err, rows) => {
if (err) {
console.log(err);
res.status(500).send('Something went wrong');
return;
}
if (rows.length === 0) {
res.status(404).send('Actor not found');
return;
}
res.json(rows[0]);
});
};

const createActor = (req, res) => {
const { body } = req;
const { name, age } = body;
pool.query(
'INSERT INTO actors (name, age) VALUES (?, ?)',
[name, age],
(err, result) => {
if (err) {
console.log(err);
res.status(500).send('Something went wrong');
return;
}
res.json({
message: `Successfully created actor with ID: ${result.insertId}`,
});
}
);
};

const updateActor = (req, res) => {
const { id } = req.params;
const { body } = req;
const { name, age } = body;
pool.query(
'UPDATE actors SET name = ?, age = ? WHERE id = ?',
[name, age, id],
(err, result) => {
if (err) {
console.log(err);
res.status(500).send('Something went wrong');
return;
}
if (result.affectedRows === 0) {
res.status(404).send('Actor not found');
return;
}
res.json({ message: 'Actor updated successfully' });
}
);
};

const deleteActor = (req, res) => {
const { id } = req.params;
pool.query('DELETE FROM actors WHERE id = ?', [id], (err, result) => {
if (err) {
console.log(err);
res.status(500).send('Something went wrong');
return;
}
if (result.affectedRows === 0) {
res.status(404).send('Actor not found');
return;
}
res.json({ message: 'Actor deleted successfully' });
});
};

module.exports = {
getActors,
getActorById,
createActor,
updateActor,
deleteActor,
};
=======
const mysql = require('mysql2')
const pool = require('../sql/connection')

const list = (req, res) => {
// SELECT ALL ACTORS
pool.query("SELECT * FROM ??", ["actors"], (err, rows) => {
if (err) return handleSQLError(res, err)
return res.json(rows);
})
}

const show = (req, res) => {
const {id} = req.params
pool.query(`SELECT * FROM ?? WHERE ?? = ?`,
["actors", "id", id],
(err, row, fields) => {
console.log(err,row)
res.json(row)
})
}

const create = (req, res) => {
const {body} = req
const {first_name, last_name, movie_id} = body

pool.query(`INSERT INTO ?? (??, ??) VALUES (?, ?)`,
["actors", "first_name", "last_name", first_name, last_name],

(err,row,fields) => {
console.log(row)
res.json({
message: `Successfully inserted actor into id: ${row.insertId}`
})
})
}

const updateActor = (req, res) => {
const foundActor = actors.find((actor) => {
return actor.id === Number(id)
})
if(foundActor){
const index = actors.indexOf(foundActors)
const updateActor = {
...foundActor,
...req.body
}
movies.splice(index, 1, updateActor)
res.json(updateActor)
} else {
res.status(400).json({
msg: `No actor with ID: ${id}`
})
}
}

module.exports = {
list,
show,
create,
updateActor
}
// >>>>>>> master
82 changes: 82 additions & 0 deletions controller/movies.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
const mysql = require('mysql2')
const pool = require('../sql/connection')

const list = (req, res) => {
// SELECT ALL MOVIES
pool.query("SELECT * FROM ??", ["movies"], (err, rows) => {
if (err) return handleSQLError(res, err)
return res.json(rows);
})
}

//select by ID
const show = (req, res) => {
const {id} = req.params
pool.query(`SELECT * FROM ?? WHERE ?? = ?`,
["movies", "id", id],
(err,row,fields) => {
console.log(err,row)
res.json(row)
})
}

const create = (req, res) => {
const {body} = req
const {title, release_year} = body

pool.query(`INSERT INTO ?? (??, ??) VALUES (?, ?)`,
["movies", "title", "release_year", title, release_year],

(err,row,fields) => {
console.log(row)
res.json({
message: `Successfully inserted movie into id: ${row.insertId}`
})
})
}

const updateMovie = (req, res) => {
const {id} = req.params

const foundMovie = movies.find((movie) => {
return movie.id === Number(id)
})
if(foundMovie){
const index = movies.indexOf(foundMovie)
const updateMovie = {
...foundMovie,
...req.body
}
movies.splice(index, 1, updateMovie)
res.json(updateMovie)
}
else{
res.status(400).json({
msg: `No movie with ID: ${id}`
})
}
}

const deleteMovie = (req, res) => {
const {id} = req.params

const foundMovie = Movies.find((Movie) => {
return Movie.id === Number(id)
})
if(foundMovie != -1){
const index = Movies.indexOf(foundMovie)
Movies.splice(index, 1)
res.json({message: "Movie Deleted"})
}
else{
res.status(404).json({message: "Movie not found"})
}
}

module.exports = {
list,
show,
create,
updateMovie,
deleteMovie
}
80 changes: 80 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
const express = require('express')
const app = express()
const moviesRouter = require("./routes/movies")
const actorsRouter = require("./routes/actors")

//view ENV
require('dotenv').config()

const PORT = process.env.PORT || 3306

app.use(express.json())

app.use("/", moviesRouter)
app.use("/", actorsRouter)

// <<<<<<< Bryan
// =======
//get all movies

// //get a user by ID
// app.get("/users/:id", (req, res) => {
// const {id} = req.params
// pool.query(`SELECT * FROM ?? WHERE ?? = ?`,
// ["users", "id", id],
// (err,row,fields) => {
// res.json(row)
// })
// })

// //create a user
// app.post("/users", (req, res) => {
// const {body} = req
// const {first_name, last_name} = body

// pool.query(`INSERT INTO ?? (??, ??) VALUES (?, ?)`,
// ["users", "first_name", "last_name", first_name, last_name],
// (err,row,fields) => {
// console.log(row)
// res.json({
// message: `Successfully inserted user into id: ${row.insertId}`
// })
// })
// })


// //update user
// app.put("/users/:id", (req, res) => {
// const {body} = req
// const {id} = req.params
// // const {first_name, last_name} = body


// pool.query(`UPDATE ?? set ? WHERE ?? = ?`,
// ["users",body, "id", id],
// (err,row,fields) => {
// console.log(err,row, fields)

// res.json(row.info)
// })
// })


// app.delete("/users/:id", (req, res) => {
// const {body} = req
// const {id} = req.params
// // const {first_name, last_name} = body


// pool.query(`DELETE from ?? WHERE ?? = ?`,
// ["users","id", id],
// (err,row,fields) => {
// console.log(err,row, fields)

// res.json(row.info)
// })
// })
// >>>>>>> master


app.listen(PORT, () => console.log(`I am listening on port ${PORT}`))
Loading