Skip to content

Commit

Permalink
add tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
gungunfebrianza committed Aug 17, 2021
1 parent 7bb6c0f commit 7d97d1d
Showing 1 changed file with 145 additions and 0 deletions.
145 changes: 145 additions & 0 deletions Example-1/controller/tutorial.controller.js
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."
});
});
};

0 comments on commit 7d97d1d

Please sign in to comment.