Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
digen21 committed Aug 8, 2022
1 parent 7db4dad commit e4ea591
Show file tree
Hide file tree
Showing 4 changed files with 162 additions and 153 deletions.
1 change: 1 addition & 0 deletions for-res-pass/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/node_modules
3 changes: 3 additions & 0 deletions for-res-pass/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"git.ignoreLimitWarning": true
}
41 changes: 23 additions & 18 deletions for-res-pass/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,22 +124,22 @@ app.get('/reset-password/:id/:token', (req, res) => {
// return;
// }

app.post('/reset-password/:id/:token', (req, res) => {
app.post('/reset-password/:id/:token',async (req, res) => {
const { id, token } = req.params;
// res.send(user);

const { password, password2 } = req.body;


const data= await user.findOne({_id:id});
//first call the id from the database
user.findOne({ _id: id }, (err, user) => {
if (!user) {
res.send("Invalid Id");
return;
}
// user.findOne({ _id: id }, async (err, data) => {
// if (!data) {
// res.send("Invalid Id");
// return;
// }

//Validating Token
const secret = JWT_SECRET + user.password;
const secret = JWT_SECRET + data.password;
try {
const payload = jwt.verify(token, secret);

Expand All @@ -150,20 +150,25 @@ app.post('/reset-password/:id/:token', (req, res) => {
//--------------------Not Working(Almost There)--------------------


const updatePass = async () =>{
let data = await user.updateOne({
password: user.password //old password
// const updatePass = async () =>{
let a = await user.updateOne({
_id: data._id //old password
},
{$push : {
{$set : {
password: req.body.password //pushing new password
}});
console.log(data);
console.log("ID: -" + id)
// console.log(a,{
// password: user.password //old password
// },
// {$set : {
// password: req.body.password //pushing new password
// }});
// console.log("ID: -" + id)
// console.log(user);
res.send("Updated");

}
updatePass();
// }
// updatePass();

// Password Is Matched But Not Updating In Database

Expand Down Expand Up @@ -191,10 +196,10 @@ app.post('/reset-password/:id/:token', (req, res) => {

})

})


app.listen(3000, ()=>{console.log((`@ http://localhost:${3000}`))});

app.listen(3000, ()=>{console.log((`🚀 http://localhost:${3000} ` ))});



Expand Down
270 changes: 135 additions & 135 deletions for-res-pass/index2.js → for-res-pass/views/a.js
Original file line number Diff line number Diff line change
@@ -1,135 +1,135 @@
const express = require('express');
const mongoose = require('mongoose');
const jwt = require('jsonwebtoken');
const { reset } = require('nodemon');

const app = express();

app.set('view engine', 'ejs');
app.use(express.json());
app.use(express.urlencoded({ extended: true }));


mongoose.connect('mongodb://localhost:27017/dbc');
const db = mongoose.connection;

db.on('error', () => console.log("Error In Connection"));
db.once('open', () => console.log("Conncted With Database"));


//UserSchema

const userSchema = new mongoose.Schema({
id: String,
email: String,
password: String
});

const user = mongoose.model('users', userSchema);

const JWT_SECRET = "Some Secret";

//Data Is Perfectly Coming From The Database
app.get('/', (req, res) => {
user.find({}, function (err, data) {
res.render('index', {
dataList: data
})
});
});

//Rendering To Forgot Password Page
app.get('/forgot-password', (req, res) => {
res.render('forgot-password');
});


app.post('/forgot-password', (req, res) => {

//The Email Entered By User Perfectly Coming In Console
const {email} = req.body;
console.log(req.body);


//Now Finding That Particular Email In Database

user.findOne({email: req.body.email}, (err, data)=>{
if(!data){
console.log("User Not Exists");
}

//If Error Use user here
const secret = JWT_SECRET + data.password;

const payload = {
id: data._id,
email : data.email
}

const token = jwt.sign(payload, secret, {expiresIn: '1min'});
const link = `http://localhost:3000/reset-password/${data._id}/${token}`;
console.log(link);
res.send("Link Has been sent..."); //Upto Here Working Properly.....
});

})

app.get('/reset-password/:id/:token', (req, res) => {

const { id, token } = req.params;
res.send(req.params); //Now Id And Token Perfectly Coming In Console

user.findOne({ id: req.body._id},(err, data)=>{
if(!data){
console.log("Invalid Id");
return;
}

const secret = JWT_SECRET + user.password;
try {
const payload = jwt.verify(token, secret)
res.render('reset-password', {email: user.email});
} catch (error) {
console.log(error.message);
}
});
});


app.post('/reset-password/:id/:token', (req, res)=>{
const {id , token} = req.params;
// console.log(user);

const {password, password2} = req.body;

user.findOne({_id: id}, (err, data)=>{
if(!data){
console.log("Invalid Id");
return;
}

const secret = JWT_SECRET + data.password;
try {
const payload = jwt.verify(token, secret);

const updatePass = async ()=>{
let data = await user.updateOne({
password: user.password
},{$set:{
password: req.body.password
}});
console.log(data);
console.log("Id: " + id);
res.send("Updated");
}
updatePass();


} catch (error) {
console.log(error.message);
}

});
});

app.listen(3000, ()=>{console.log((`@ http://localhost:${3000}`))});
const express = require('express');
const mongoose = require('mongoose');
const jwt = require('jsonwebtoken');
const { reset } = require('nodemon');

const app = express();

app.set('view engine', 'ejs');
app.use(express.json());
app.use(express.urlencoded({ extended: true }));


mongoose.connect('mongodb://localhost:27017/dbc');
const db = mongoose.connection;

db.on('error', () => console.log("Error In Connection"));
db.once('open', () => console.log("Conncted With Database"));


//UserSchema

const userSchema = new mongoose.Schema({
id: String,
email: String,
password: String
});

const user = mongoose.model('users', userSchema);

const JWT_SECRET = "Some Secret";

//Data Is Perfectly Coming From The Database
app.get('/', (req, res) => {
user.find({}, function (err, data) {
res.render('index', {
dataList: data
})
});
});

//Rendering To Forgot Password Page
app.get('/forgot-password', (req, res) => {
res.render('forgot-password');
});


app.post('/forgot-password', (req, res) => {

//The Email Entered By User Perfectly Coming In Console
const {email} = req.body;
console.log(req.body);


//Now Finding That Particular Email In Database

user.findOne({email: req.body.email}, (err, data)=>{
if(!data){
console.log("User Not Exists");
}

//If Error Use user here
const secret = JWT_SECRET + data.password;

const payload = {
id: data._id,
email : data.email
}

const token = jwt.sign(payload, secret, {expiresIn: '1min'});
const link = `http://localhost:3000/reset-password/${data._id}/${token}`;
console.log(link);
res.send("Link Has been sent..."); //Upto Here Working Properly.....
});

})

app.get('/reset-password/:id/:token', (req, res) => {

const { id, token } = req.params;
res.send(req.params); //Now Id And Token Perfectly Coming In Console

user.findOne({ id: req.body._id},(err, data)=>{
if(!data){
console.log("Invalid Id");
return;
}

const secret = JWT_SECRET + user.password;
try {
const payload = jwt.verify(token, secret)
res.render('reset-password', {email: user.email});
} catch (error) {
console.log(error.message);
}
});
});


app.post('/reset-password/:id/:token', (req, res)=>{
const {id , token} = req.params;
// console.log(user);

const {password, password2} = req.body;

user.findOne({_id: id}, (err, data)=>{
if(!data){
console.log("Invalid Id");
return;
}

const secret = JWT_SECRET + data.password;
try {
const payload = jwt.verify(token, secret);

const updatePass = async ()=>{
let data = await user.updateOne({
password: user.password
},{$set:{
password: req.body.password
}});
console.log(data);
console.log("Id: " + id);
res.send("Updated");
}
updatePass();


} catch (error) {
console.log(error.message);
}

});
});

app.listen(3000, ()=>{console.log((`@ http://localhost:${3000}`))});

0 comments on commit e4ea591

Please sign in to comment.