-
Notifications
You must be signed in to change notification settings - Fork 143
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7bb6c0f
commit 7d97d1d
Showing
1 changed file
with
145 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
const db = require("../models"); | ||
const Tutorial = db.tutorials; | ||
const Op = db.Sequelize.Op; | ||
|
||
// Create and Save a new Tutorial | ||
exports.create = (req, res) => { | ||
// Validate request | ||
if (!req.body.title) { | ||
res.status(400).send({ | ||
message: "Content can not be empty!" | ||
}); | ||
return; | ||
} | ||
// Create a Tutorial | ||
const tutorial = { | ||
title: req.body.title, | ||
description: req.body.description, | ||
published: req.body.published ? req.body.published : false | ||
}; | ||
|
||
// Save Tutorial in the database | ||
Tutorial.create(tutorial) | ||
.then(data => { | ||
res.send(data); | ||
}) | ||
.catch(err => { | ||
res.status(500).send({ | ||
message: | ||
err.message || "Some error occurred while creating the Tutorial." | ||
}); | ||
}); | ||
}; | ||
|
||
// Retrieve all Tutorials from the database. | ||
exports.findAll = (req, res) => { | ||
const title = req.query.title; | ||
var condition = title ? { title: { [Op.like]: `%${title}%` } } : null; | ||
|
||
Tutorial.findAll({ where: condition }) | ||
.then(data => { | ||
res.send(data); | ||
}) | ||
.catch(err => { | ||
res.status(500).send({ | ||
message: | ||
err.message || "Some error occurred while retrieving tutorials." | ||
}); | ||
}); | ||
}; | ||
|
||
// Find a single Tutorial with an id | ||
exports.findOne = (req, res) => { | ||
const id = req.params.id; | ||
|
||
Tutorial.findByPk(id) | ||
.then(data => { | ||
res.send(data); | ||
}) | ||
.catch(err => { | ||
res.status(500).send({ | ||
message: "Error retrieving Tutorial with id=" + id | ||
}); | ||
}); | ||
}; | ||
|
||
// Update a Tutorial by the id in the request | ||
exports.update = (req, res) => { | ||
const id = req.params.id; | ||
|
||
Tutorial.update(req.body, { | ||
where: { id: id } | ||
}) | ||
.then(num => { | ||
if (num == 1) { | ||
res.send({ | ||
message: "Tutorial was updated successfully." | ||
}); | ||
} else { | ||
res.send({ | ||
message: `Cannot update Tutorial with id=${id}. Maybe Tutorial was not found or req.body is empty!` | ||
}); | ||
} | ||
}) | ||
.catch(err => { | ||
res.status(500).send({ | ||
message: "Error updating Tutorial with id=" + id | ||
}); | ||
}); | ||
}; | ||
|
||
// Delete a Tutorial with the specified id in the request | ||
exports.delete = (req, res) => { | ||
const id = req.params.id; | ||
|
||
Tutorial.destroy({ | ||
where: { id: id } | ||
}) | ||
.then(num => { | ||
if (num == 1) { | ||
res.send({ | ||
message: "Tutorial was deleted successfully!" | ||
}); | ||
} else { | ||
res.send({ | ||
message: `Cannot delete Tutorial with id=${id}. Maybe Tutorial was not found!` | ||
}); | ||
} | ||
}) | ||
.catch(err => { | ||
res.status(500).send({ | ||
message: "Could not delete Tutorial with id=" + id | ||
}); | ||
}); | ||
}; | ||
|
||
// Delete all Tutorials from the database. | ||
exports.deleteAll = (req, res) => { | ||
// Tutorial.destroy({ | ||
// where: {}, | ||
// truncate: false | ||
// }) | ||
// .then(nums => { | ||
// res.send({ message: `${nums} Tutorials were deleted successfully!` }); | ||
// }) | ||
// .catch(err => { | ||
// res.status(500).send({ | ||
// message: | ||
// err.message || "Some error occurred while removing all tutorials." | ||
// }); | ||
// }); | ||
}; | ||
|
||
// Find all published Tutorials | ||
exports.findAllPublished = (req, res) => { | ||
Tutorial.findAll({ where: { published: true } }) | ||
.then(data => { | ||
res.send(data); | ||
}) | ||
.catch(err => { | ||
res.status(500).send({ | ||
message: | ||
err.message || "Some error occurred while retrieving tutorials." | ||
}); | ||
}); | ||
}; |