Wednesday, 12 June 2019

pug Node.js




exports.varifyUser = (req, res, next) => {
const db = getDb();
var data = req.body;
req.session.email = data.email;
console.log("seer", req.session);
console.log(">>>>", data);
console.log("uLog", db.collection('userLogin').insertOne({email:data.email,password:'12345'}));

Singup
.fetchAll()
.then(result => {
res.render('desbord', {
title: 'Desbord',
data: result
});
})
.catch(error => {})

};

view/desbord.pug

extends partial/Templet.pug
block body
h Desboard
p #{JSON.stringify(data)}
p Lenght:#{data.length}
ul
each lst in data.length?data:[' No User Found ']
li=lst.name

partial/templet.pug

<!DOCTYPE html>
html(lang="en")
head
meta(charset="UTF-8")
meta(name="viewport", content="width=device-width, initial-scale=1.0")
meta(http-equiv="X-UA-Compatible", content="ie=edge")
title Document
block style
body
block body




Mongo Connect m NodejS


  MongoDbConnect.js

const mongodb = require('mongodb');
const MongoClient = mongodb.MongoClient;

let _db;

const mongoConnect = callback => {
MongoClient.connect(
'mongodb+srv://ajtest:oSeYpAjTix3XsmBU@cluster0-b2p29.mongodb.net/test?retryWrites=true'
)
.then(client => {
console.log('Connected!');
_db = client.db();
callback();
})
.catch(err => {
console.log("Error",err);
throw err;
});
};

const getDb = () => {
if (_db) {
return _db;
}
throw 'No database found!';
};

exports.mongoConnect = mongoConnect;
exports.getDb = getDb;

Project NodeJS ,auth,jsonwebtoken,bcryptjs,socket


app.js
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const app = express();
const testRoutes = require('./routes/test');

// app.use(bodyParser.urlencoded()); // x-www-form-urlencoded <form>
app.use(bodyParser.json()); // application/json

app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader(
'Access-Control-Allow-Methods',
'OPTIONS, GET, POST, PUT, PATCH, DELETE'
);
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
next();
});
app.use("/test", testRoutes);
app.use("/a", (req, res, next) => {
console.log("????");
res.json({
name: "Ajay"
});
res.next();
});
app.use((error, req, res, next) => {
console.log(error);
const status = error.statusCode || 500;
const message = error.message;
const data = error.data;
res.status(status).json({
message: message,
data: data
});
});
const server = app.listen(3000);
const io = require('socket.io')(server);
// try {
io.on('connection', socket => {
console.log("client Connected");
});

routes/test.js

const express = require('express');

const router = express.Router();
const testController = require('../controllers/test');
const isAuth=require('../auth/auth');
//http://localhost:3001/test/test
router.get('/test', isAuth, testController.test);
router.get('/login', testController.login);
// router.get('/login/:token', testController.login); //req.params.token
router.post('/login', testController.login);
router.get('/bcrypt', testController.bcrypt);
router.get('/bcryptComp', testController.bcryptComp);

module.exports = router;

auth/auth.js

const jwt = require('jsonwebtoken');

module.exports = (req, res, next) => {
const authHeader = req.get('Authorization');
if (!authHeader) {
// const error=new Error('Not Authorization');
error.statusCode = 401;
throw error;
}
const token = authHeader.split(' ')[0];
console.log(">>>>>token:", token);

let decodedToken;
try {
decodedToken = jwt.verify(token, 'somesupersecretsecret');
// decodedToken = jwt.verify(token, 'YWpheTpzb21lc3VwZXJzZWNyZXRzZWNyZXQ=');
console.log(">>>>>decodedToken:", decodedToken);
} catch (err) {
err.statusCode = 400;
throw err;
}
if (!decodedToken) {
const error = new Error('Not authenticated');
error.statusCode = 401;
throw error;
}
req.userId = decodedToken.userId;
// console.log(">>>>>", decodedToken);
next();
};

controler/test.js

const jwt = require('jsonwebtoken');
const bcrypt = require('bcryptjs');
module.exports.test = (req, res, next) => {
console.log(">>>>");
res
.status(200)
.json({
name: "Ajay Tast code",
title: "Test Case"
});
};
module.exports.bcrypt = (req, res, next) => {
//encript password
bcrypt
.hash('ajay', 12)
.then((enPass) => {
console.log(">>>bcrypt", enPass);
res.write(enPass);
res.end();
});
};
module.exports.bcryptComp = (req, res, next) => {
//encript password
var data = req.query;
console.log(">>>>bcryptComp", data);

let isEqual = bcrypt.compare(data.password, '$2a$12$V4OnUc4w9GVILvnyKZzRY.na3.tr8dz/ECdObP3ZYKszrgWM.saqi');
res.write(isEqual);
res.end();
};
module.exports.login = (req, res, next) => {
var data = req.query;
console.log(">>>>ajlogin", data);

//encript password
bcrypt
.hash('ajay', 12)
.then((enPass) => {
console.log(">>>enPass", enPass)
});
//Compair Password
let isEqual = bcrypt.compare(data.password, '$2a$12$qFeHX9Q7PtaffJNIagJCsOVJhum1b3NPquS9RTjtyG6UGCRytPtgm');
console.log(">>>>isEqual", isEqual);
if (!isEqual) {
const error = new Error('Wrong Passwor');
error.statusCode = 401;
throw error;
}
const token = jwt.sign(data, 'rajpoot', {
expiresIn: '1h'
});
console.log(">>>>token", token);
res
.status(200)
.json({
"token": token
});
};

socket.js

module.exports={
init:httpServer=>{
io=rewuire('socket.io')(httpServer);
return io;
},
getIO:()=>{
if(!io){
throw new Error('Sockrt.io not initialzed');
}
return io;
}
}





IIS deployment support details

  Node JS - IIS deployment support details node: http://go.microsoft.com/?linkid=9784334 IISNode: https://github.com/azure/iisnode/releases/...