Skip to content

Instantly share code, notes, and snippets.

@debashisbarman
Last active August 17, 2017 19:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save debashisbarman/1aa061fa8cdd3909c0fcb9cfd667bb40 to your computer and use it in GitHub Desktop.
Save debashisbarman/1aa061fa8cdd3909c0fcb9cfd667bb40 to your computer and use it in GitHub Desktop.
RESTful API for a Demo Model
const express = require('express');
const app = express();
const router = express.Router();
const host = '';
const port = '';
const user = '';
const password = '';
const database = '';
const Sequelize = require('sequelize');
const sequelize = new Sequelize(`postgres://${user}:${password}@${host}:${port}/${database}`);
const User = sequelize.define('user', {
firstName: {
type: Sequelize.STRING
},
lastName: {
type: Sequelize.STRING
}
});
router.get('/', (req, res) => {
User.findAll({
order: [
[ 'id', 'ASC' ]
]
}).then(users => {
res.send(users);
})
});
router.get('/profile/:fname.:lname', (req, res) => {
User.findAll({
where: {
firstName: `${req.params.fname}`,
lastName: `${req.params.lname}`
}
}).then(users => {
res.send(users);
});
});
router.post('/new/:fname.:lname', (req, res) => {
User.create({
firstName: `${req.params.fname}`,
lastName: `${req.params.lname}`
}).then(() => {
res.redirect('/users');
});
});
router.put('/edit/:id/:fname.:lname', (req, res) => {
User.update({
firstName: `${req.params.fname}`,
lastName: `${req.params.lname}`
}, {
where: {
id: `${req.params.id}`
}
}).then(() => {
res.redirect('/users');
});
});
router.delete('/destroy/:id', (req, res) => {
User.destroy({
where: {
id: `${req.params.id}`
}
}).then(() => {
res.redirect('/users');
})
})
app.use('/users', router);
app.listen(3030);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment