Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // var firebase = require('firebase');
- var firebase = require("firebase-admin");
- var email = require("emailjs/email");
- var server = email.server.connect({
- user: "XXXXXX",
- password:"XXXXXXXX",
- host: "smtp.gmail.com",
- ssl: true
- });
- firebase.initializeApp({
- credential: firebase.credential.cert('./Civil Service-XXXXXX80.json'),
- databaseURL: "https://cXXvil-seXXiXXe-XXXX.firebaseio.com"
- });
- var LocalStorage = require('node-localstorage').LocalStorage;
- var localStorage = new LocalStorage('./scratch');
- var signed = false;
- var http = require('http');
- var util = require('util');
- var fs = require('fs');
- var express = require('express');
- var app = express();
- var router = express.Router();
- var path = require("path");
- var url=require('url');
- var authenticationFlag = false;
- var userid = localStorage.getItem('currentUserID');
- var index = fs.readFileSync('index.html');
- var users = fs.readFileSync('users.html');
- app.use(express.static('public'));
- /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
- app.post('/sendmail', function(req,res, next){
- var to = '';
- var from = 'nom@XXXtXc.com';
- var subject = '';
- var message = '';
- req.on('data', function (chunk) {
- var obj = JSON.parse(chunk);
- to = obj.to;
- subject = obj.subject;
- message = obj.message;
- server.send({
- text: message,
- from: "nom@XXXXic.com",
- to: to,
- cc: "",
- subject: subject
- }, function(err, message) {
- console.log(err || message);
- });
- res.status(200).send('Success');
- });
- });
- app.post('/server', function(req,res, next){
- var idToken = '';
- req.on('data', function (chunk) {
- var obj = JSON.parse(chunk);
- idToken = obj.idToken;
- firebase.auth().verifyIdToken(idToken)
- .then(function(decodedToken) {
- var uid = decodedToken.uid;
- console.log("UID:"+uid);
- localStorage.setItem('authflag', 'true');
- localStorage.setItem('currentUserID', uid);
- console.log("IN SERVER:"+localStorage.getItem('authflag'));
- res.status(200).send('Success');
- }).catch(function(error) {
- console.log('ERROR IS:'+error);
- authenticationFlag = false;
- res.status(400).send('Wrong details');
- });
- });
- });
- function hasFilledDetails(){
- var userid = localStorage.getItem('currentUserID');
- return firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- return false;
- }else{
- return true;
- }
- });
- }
- function isApproved(){
- var userid = localStorage.getItem('currentUserID');
- return firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().approved === '') {
- return false;
- }else{
- return true;
- }
- });
- }
- app.get('/logout', function(req, res){
- localStorage.removeItem('currentUserID');
- localStorage.setItem('authflag', 'false');
- res.sendFile(path.join(__dirname+'/logout.html'));
- });
- app.get('/login',function(req,res){
- console.log("AUTH FLAG IS:"+localStorage.getItem('authflag'));
- console.log(authenticationFlag);
- if (localStorage.getItem('authflag') == 'true') {
- if (hasFilledDetails()) {
- console.log("REDIRECTING TO PROFILE HAS FILLED");
- res.redirect('/profile');
- }else{
- console.log("REDIRECTING TO SIGNUP2 HAS NOT FILLED");
- res.redirect('/signup2');
- }
- }else{
- res.sendFile(path.join(__dirname+'/login.html'));
- }
- });
- app.get('/signup2',function(req,res){
- if (localStorage.getItem('authflag') == 'true') {
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- console.log("SENDING SIGNUP2 FILE");
- res.sendFile(path.join(__dirname+'/signup2.html'));
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- console.log("REDIRECTING TO APPROVAL");
- res.redirect('/approval');
- }else{
- console.log("REDIRECTING TO DASHBOARD");
- res.redirect('/dashboard');
- //res.sendFile(path.join(__dirname+'/login.html'));
- }
- });
- }else{
- res.sendFile(path.join(__dirname+'/login.html'));
- }
- });
- app.get('/dashboard', authenticationRequired ,function(req,res){
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val() !== null) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- res.redirect('/signup2');
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- console.log("APPROVED IS:"+snapshot.val().approved);
- // res.redirect('/approval');
- res.sendFile(path.join(__dirname+'/site/approval.html'));
- }else{
- res.sendFile(path.join(__dirname+'/index.html'));
- }
- }else{
- res.redirect('/logout');
- }
- });
- });
- app.get('/', authenticationRequired ,function(req,res){
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- res.redirect('/signup2');
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- // res.redirect('/approval');
- res.sendFile(path.join(__dirname+'/site/approval.html'));
- }else{
- res.redirect('/dashboard');
- }
- });
- });
- app.get('/approval', authenticationRequired ,function(req,res){
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- res.redirect('/signup2');
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- res.sendFile(path.join(__dirname+'/site/approval.html'));
- }else{
- res.sendFile(path.join(__dirname+'/site/approval.html'));
- }
- });
- });
- app.get('/firebase-messaging-sw.js', authenticationRequired ,function(req,res){
- res.sendFile(path.join(__dirname+'/public/js/firebase-messaging-sw.js'));
- //__dirname : It will resolve to your project folder.
- });
- app.get('/directory', authenticationRequired ,function(req,res){
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- res.redirect('/signup2');
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- res.redirect('/approval');
- }else{
- res.sendFile(path.join(__dirname+'/site/directory.html'));
- }
- });
- //res.sendFile(path.join(__dirname+'/site/directory.html'));
- });
- // app.get('/signup2', authenticationRequired ,function(req,res){
- // res.sendFile(path.join(__dirname+'/signup2.html'));
- // });
- app.get('/messages', authenticationRequired ,function(req,res){
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- res.redirect('/signup2');
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- res.redirect('/approval');
- }else{
- res.sendFile(path.join(__dirname+'/site/messages.html'));
- }
- });
- //res.sendFile(path.join(__dirname+'/site/messages.html'));
- });
- app.get('/settings', authenticationRequired ,function(req,res){
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- res.redirect('/signup2');
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- res.redirect('/approval');
- }else{
- res.sendFile(path.join(__dirname+'/site/settings.html'));
- }
- });
- // res.sendFile(path.join(__dirname+'/site/settings.html'));
- });
- app.get('/profile', authenticationRequired ,function(req,res){
- // res.sendFile(path.join(__dirname+'/site/profile.html'));
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- res.redirect('/signup2');
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- res.redirect('/approval');
- }else{
- res.sendFile(path.join(__dirname+'/site/profile.html'));
- }
- });
- });
- app.get('/viewuser', authenticationRequired ,function(req,res){
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- res.redirect('/signup2');
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- res.redirect('/approval');
- }else{
- res.sendFile(path.join(__dirname+'/site/viewuser.html'));
- }
- });
- //res.sendFile(path.join(__dirname+'/site/viewuser.html'));
- });
- app.get('/news', authenticationRequired,function(req,res){
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- res.redirect('/signup2');
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- res.redirect('/approval');
- }else{
- res.sendFile(path.join(__dirname+'/site/news.html'));
- }
- });
- //res.sendFile(path.join(__dirname+'/site/news.html'));
- });
- app.get('/viewnews', authenticationRequired,function(req,res){
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- res.redirect('/signup2');
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- res.redirect('/approval');
- }else{
- res.sendFile(path.join(__dirname+'/site/newsdetail.html'));
- }
- });
- //res.sendFile(path.join(__dirname+'/site/viewnews.html'));
- });
- app.get('/publications', authenticationRequired,function(req,res){
- firebase.database().ref('/users/' + userid).on('value', function(snapshot) {
- if (snapshot.val().phone == '' || snapshot.val().phone == null || snapshot.val().phone == undefined) {
- res.redirect('/signup2');
- }else if(snapshot.val().approved == '0' || snapshot.val().approved == 0){
- res.redirect('/approval');
- }else{
- res.sendFile(path.join(__dirname+'/site/publications.html'));
- }
- });
- //res.sendFile(path.join(__dirname+'/site/publications.html'));
- });
- app.get('*', function(req, res){
- res.sendFile(path.join(__dirname+'/404.html'));
- });
- //app.use('/', router);
- app.listen(9615);
- function authenticationRequired(req, res, next) {
- var authflag = localStorage.getItem('authflag');
- console.log("In AUTH FUNCTION: "+authflag);
- if(authflag == 'true') {
- next()
- } else {
- res.status(401).sendFile(path.join(__dirname+'/login.html'));
- }
- }
- console.log('Server running at http://localhost:9615/');
Add Comment
Please, Sign In to add comment