Skip to content

Commit

Permalink
Write api for session and logic to destroy session
Browse files Browse the repository at this point in the history
  • Loading branch information
purnimagupta committed Aug 13, 2019
1 parent 19a8f2b commit 2a45423
Show file tree
Hide file tree
Showing 11 changed files with 670 additions and 112 deletions.
58 changes: 54 additions & 4 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,18 @@ const bodyParser = require('body-parser');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/usersRouter');
var postRouter = require('./routes/postRouter');
var sessionRouter = require('./routes/sessionRouter');
var cors = require('cors');

var session = require('express-session');
var RedisStore = require('connect-redis')(session);

var app = express();
// enable cors request
app.use(cors())
app.use(cors({
credentials: true,
origin: "http://localhost:3000"
}));
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
Expand All @@ -40,9 +47,52 @@ app.use(bodyParser.json({
limit: '5mb'
}));


let sessionStore = new RedisStore({
port: 6379,
db: 2,
ttl: 60 * 60 * 24 * 365
});

app.use(session({
name: 'purnima',
store: sessionStore,
secret: 'meow',
resave: false,
saveUninitialized: false,
cookie: {
secure: false,
sameSite: false,
maxAge: 36000000,
httpOnly: false
// domain: "http://localhost:3000"
}
}));

// app.use(function(req, res, next) {
// if (req.session && req.session.user) {
// User.findOne({ email: req.session.user.email }, function(err, user) {
// if (user) {
// req.user = user;
// delete req.user.password; // delete the password from the session
// req.session.user = user; //refresh the session value
// res.locals.user = user;

// console.log("req.session.user", req.session.user)
// }
// // finishing processing the middleware and run the route
// next();
// });
// } else {
// next();
// }
// });

app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/posts', postRouter);
app.use('/api/session', sessionRouter);


// catch 404 and forward to error handler
app.use(function(req, res, next) {
Expand All @@ -51,9 +101,9 @@ app.use(function(req, res, next) {

// error handler
app.use(function(err, req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
res.header("Access-Control-Allow-Origin", "http://localhost:3000");
// res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
Expand Down
7 changes: 4 additions & 3 deletions database/db-operations.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,10 @@ exports.regSaveUser = function(email, username, firstName, password) {

// Fetch Posts

exports.fetchPosts = function() {
return Post.find({}).exec()

exports.getPosts = function() {
return Post.find({})
.exec()
.catch((err) => console.log("err occured in fetchUserByEmail", err))
}

exports.fetchSinglePost = function(code) {
Expand Down
1 change: 1 addition & 0 deletions dump.rdb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
REDIS0006�ܳC�Z��V
Loading

0 comments on commit 2a45423

Please sign in to comment.