This application will be useful for the STUDENT CHAPTERS in Engineering Colleges. Committee members can use this application to post info about their upcoming events and monitor user registrations. Chapter members can use this application to pay and renew their membership fee and get track of their activities. Common users can use this application to register for events
Terminology
Student Chapter: It is a community of students completely driven by students working towards a common goal by organizing seminars, workshops, hackathons which benefits their peers.
Committee Members: Office Bearers who maintains the chapter and organize events
constJwtStrategy=require('passport-jwt').Strategy;constExtractJwt=require('passport-jwt').ExtractJwt;// Import ModelsconstAdmin=require('../models/Admin');letopts={}opts.jwtFromRequest=ExtractJwt.fromAuthHeaderAsBearerToken();opts.secretOrKey=process.env.JWT_KEY;module.exports=passport=>{passport.use(newJwtStrategy(opts,function(jwt_payload,done){if(jwt_payload.role===0){// User is Super AdminAdmin.findOne({username: jwt_payload.username}).then(admin=>{if(admin){constuser={id: admin._id,username: admin.username,role: admin.role};returndone(null,user);}else{returndone(null,false);}}).catch(err=>done(err,false));}elseif(jwt_payload.role===1){// User id Admin}elseif(jwt_payload.role===2){// User is a Member}elseif(jwt_payload.role===3){// User is a Guest}else{// User is not recognizedreturndone(null,false);}}));}