During our most recent workshops, we presented the most popular libraries of Node.js, and their installation on Docker. Thanks to our presentation, you’ll be able to program applications which use Node.js and ES6.
20. Open index.js
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('viewing single offer');
});
21. Open index.js
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('viewing single offer');
});
app.listen(3003);
24. var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('viewing single offer');
});
app.listen(3004, function () {
console.log("server started at 3004 port");
});
But we don't know if
server works or not
29. Let's refactor index.js
var express = require('express');
var app = express();
app.get('/', getOffer);
function getOffer(req, res) {
res.send('viewing single offer');
}
app.listen(3004, function () {
console.log("server started at 3004 port");
});
index.js
51. But what does
models.Offer.findAll()
var sequelize = new Sequelize('postgres://user:pass@example.com:5
var Offer = sequelize.define('Offer', {
title: {type: sequelize.STRING, allowNull: false},
content: {type: sequelize.STRING, allowNull: false}
}, {});
export default Offer;
models/offer.js
mean?
52. But what does
models.Offer.findAll()
mean?
function createOffer(req, res) {
models.Offer.create({
content: req.body.content,
title: req.body.title
})
.then((offer) => { res.send(offer); })
.catch(() => {res.send('Error')});
}
module.exports = getOffer;
controller/OfferController.js
53. Add new method to index.js
var express = require('express');
var app = express();
var indexAction = require('./controllers/OfferController');
app.get('/', getOffer);
app.post('/', createOffer);
app.listen(3004);
index.js
54. Add new method to index.js
function createOffer(req, res) {
Offer.create({
content: req.body.content,
title: req.body.title
})
.then((offer) => { res.send(offer); })
.catch((err) => {res.send(err)});
}
controller/OfferController.js
70. Register passport strategy
import passport from 'passport';
import local from 'passport-local';
passport.use('local', new local.Strategy(options, callback));
export default passport;
71. import bcrypt from 'bcrypt-nodejs';
import Promise from 'Bluebird';
instanceMethods: {
comparePassword: function (hash) {
var userPassword = this.password;
var user = this;
return new Promise((resolve, reject) => {
Promise.promisify(bcrypt.compare)(hash, userPassword)
.then((result) => {
resolve([result, user]);
}, (err) => {
reject(err);
});
});
}
},
Update User model