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
73 changes: 71 additions & 2 deletions src/routers/books.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,73 @@
// Import data here...

const router = require("express").Router();
const data = require("../../data");

console.log(data)
// Write routes here...
let books = data.books
// Get all books
router.get('/', function (req, res) {
res.status(200).json({
books: books
})
})


// Get a book by id
router.get('/:id', function (req, res) {
const id = req.params.id;

const book = books.find(function (book) {
return book.id.toString() === id
})

res.status(200).json({
book: book
})
})

// Add a new book
router.post('/', function (req, res) {
const book = req.body;

// push new movie onto the array
books.push(book);

res.status(201).json({
message: 'Added book succesffully'
})
})

// delete book by id
router.delete('/:id', function (req, res) {
const id = req.params.id;

books = books.filter(function (book) {
return book.id.toString() !== id
})

res.status(200).json({
message: `Deleted book ${id} successfully`
})

})

// upadte book by id
router.put('/:id', function (req, res) {
const id = req.params.id
const updatedbook = req.body;

// get index of movie to update
const existingbookIndex = books.findIndex(function (book) {
return book.id.toString() === id;
})

// update movie in array
books[existingbookIndex] = updatedbook;

res.status(200).json({
message: `Updated movie ${books[existingbookIndex].id} successfully`
})

})

module.exports = router;
72 changes: 72 additions & 0 deletions src/routers/films.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
const router = require("express").Router();
const data = require("../../data");

console.log(data.films)
// Write routes here...
let films = data.films
// Get all films
router.get('/', function (req, res) {
res.status(200).json({
films: films
})
})

// Get a film by id
router.get('/:id', function (req, res) {
const id = req.params.id;

const film = films.find(function (film) {
return film.id.toString() === id
})

res.status(200).json({
film: film
})
})

// Add a new film
router.post('/', function (req, res) {
const film = req.body;

// push new movie onto the array
films.push(film);

res.status(201).json({
message: 'Added film succesffully'
})
})

// delete film by id
router.delete('/:id', function (req, res) {
const id = req.params.id;

films = films.filter(function (film) {
return film.id.toString() !== id
})

res.status(200).json({
message: `Deleted film ${id} successfully`
})

})

// upadte film by id
router.put('/:id', function (req, res) {
const id = req.params.id
const updatedfilm = req.body;

// get index of movie to update
const existingfilmIndex = films.findIndex(function (film) {
return film.id.toString() === id;
})

// update movie in array
films[existingfilmIndex] = updatedfilm;

res.status(200).json({
message: `Updated movie ${films[existingfilmIndex].id} successfully`
})

})

module.exports = router;
72 changes: 72 additions & 0 deletions src/routers/users.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
const router = require("express").Router();
const data = require("../../data");

console.log(data)
// Write routes here...
let users = data.users
// Get all users
router.get('/', function (req, res) {
res.status(200).json({
users: users
})
})


// Get a user by id
router.get('/:id', function (req, res) {
const id = req.params.id;

const user = users.find(function (u) {
return u.id.toString() === id
})

res.status(200).json({
user: user
})
})

// Add a new user
router.post('/', function (req, res) {
const user = req.body;

users.push(user);

res.status(201).json({
message: 'Added user succesffully'
})
})

// delete user by id
router.delete('/:id', function (req, res) {
const id = req.params.id;

users = users.filter(function (user) {
return user.id.toString() !== id
})

res.status(200).json({
message: `Deleted user ${id} successfully`
})

})

// upadte user by id
router.put('/:id', function (req, res) {
const id = req.params.id
const updatedUser = req.body;

// get index of movie to update
const existingUserIndex = users.findIndex(function (user) {
return user.id.toString() === id;
})

// update movie in array
users[existingUserIndex] = updatedUser;

res.status(200).json({
message: `Updated movie ${users[existingUserIndex].id} successfully`
})

})

module.exports = router;
8 changes: 5 additions & 3 deletions src/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ app.use(morgan("dev"));

// REQUIRE ROUTERS
const usersRouter = require("./routers/users");

const filmsRouter = require("./routers/films")
const booksRouter = require("./routers/books")
// ADD ROUTERS TO APP


app.use('/books', booksRouter)
app.use('/films', filmsRouter)
app.use('/users', usersRouter)
module.exports = app