84 lines
2.3 KiB
JavaScript
84 lines
2.3 KiB
JavaScript
|
|
||
|
var Book = require('../models/book.js');
|
||
|
|
||
|
function list_books(req, res) {
|
||
|
Book.find({}, (err, book) => {
|
||
|
if (err) {
|
||
|
return res.status(500).send({ message: 'Error: Could not get books!' });
|
||
|
}
|
||
|
res.status(200).send({ book });
|
||
|
})
|
||
|
}
|
||
|
|
||
|
function show_book(req, res) {
|
||
|
let id = { '_id': req.params.id };
|
||
|
Book.find(id, (err, book) => {
|
||
|
if (err) {
|
||
|
return res.status(500).send({ message: 'Error: Could not get books!' });
|
||
|
}
|
||
|
res.status(200).send({ book });
|
||
|
})
|
||
|
}
|
||
|
|
||
|
function new_book(req, res) {
|
||
|
try{
|
||
|
let book = new Book();
|
||
|
book.nombre = req.body.nombre;
|
||
|
book.anio = req.body.anio;
|
||
|
book.idioma = req.body.idioma;
|
||
|
book.autor = req.body.autor;
|
||
|
book.save((err, bookSave) => {
|
||
|
if (err) {
|
||
|
return res.status(400).send({ message: `Error: Could not save book to database!> ${err}` });
|
||
|
}
|
||
|
res.status(200).send({ book: bookSave });
|
||
|
})
|
||
|
}
|
||
|
catch (error) {
|
||
|
res.status(500).send({ message: `error:` + error });
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function modify_book(req, res) {
|
||
|
let book = new Book();
|
||
|
book._id = req.params.id;
|
||
|
book.nombre = req.body.nombre;
|
||
|
book.anio = req.body.anio;
|
||
|
book.idioma = req.body.idioma;
|
||
|
book.autor = req.body.autor;
|
||
|
Book.updateOne({ '_id': book._id }, book, (err, updatedBook) => {
|
||
|
if (err) {
|
||
|
return res.status(400).send({ message: `Error: Could not save book to database!> ${err}` });
|
||
|
}
|
||
|
if (updatedBook.nModified == 1) {
|
||
|
res.status(200).send({ message: `Book modified!` });
|
||
|
}
|
||
|
else {
|
||
|
res.status(400).send({ message: `Error: Book could not be modified!` });
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function delete_book(req, res) {
|
||
|
let id = { '_id': req.params.id };
|
||
|
Book.deleteOne(id, (err, book) => {
|
||
|
if (err) {
|
||
|
return res.status(400).send({ message: `Error: Could not save book to database!> ${err}` });
|
||
|
}
|
||
|
if (book.deletedCount == 1) {
|
||
|
res.status(200).send({ message: `Book deleted!` });
|
||
|
}
|
||
|
else {
|
||
|
res.status(400).send({ message: `Error: Book could not be deleted!` });
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
|
list_books,
|
||
|
show_book,
|
||
|
new_book,
|
||
|
modify_book,
|
||
|
delete_book
|
||
|
};
|