Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

// Hecemos requiere de las librerias utilizadas

var express = require("express");
var bodyParser = require("body-parser");
var   User = require("./models/user").User; // De esta  manera accedemos al objeto al momento de ser exportado
//var session = require("express-session"); // Guarda la sessiones en memoria
var CookieSession = require("cookie-session"); // Guarda la sessiones en memoria
var router_app = require("./routes_app");
var session_middleware = require("./middlewares/sessions");
var methosOverride = require("method-override");

var app = express();

app.use("/public",express.static("public"));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

// le decimos a express que utilize method-override para que interprete put en el navegador
app.use(methosOverride("_method"))

// instancia para iniciar session y guardarla
/*app.use(session({
        secret: "123byuhbsdah12ub",
        resave: false,
        saveUninitialized: false
}));*/
app.use(CookieSession({
      name: "session",
      keys: ["llave-1", "llave-2"]
}));


//app.use(express.static("assets"));

// Hacemos referencias a todos los archivos jade
app.set("view engine","jade");

// Redericionamos a la index de la aplicación
app.get("/", function (req, res) {
     console.log(req.session.user_id);
     res.render("index");
});

// Redericionamos a la pagina de registro
app.get("/signup",function(req, res){
        User.find(function(err,doc){
              console.log(doc);
              res.render("signup");
        });
});

// Redericionamos a la pagina de login o inicio de session
app.get("/login",function(req, res){
      res.render("login");
});


// Función para hacer registros de los usuarios en la base de datos por medio de metodo POST
app.post("/users",function(req, res){
        var user = new User({
                                               // Hacemos referencias a los campos tomados del formulario
                                              email: req.body.email,
                                              password:  req.body.pass,
                                              password_confirmation: req.body.password_confirmation,
                                              username: req.body.username
                                            });

        // Promise _ nuevo en javascript
        // SAVE: Para guardar datos en  base de datos
        user.save().then(function(us){
                // SEND: Para enviar cadena de texto
                res.send("Guardamos el Usuario exitosamente");
        },function(err){
              if (err){
                  console.log(String(err));
                    res.send("No Pudimos Guardar la información");
              }
        });
});

 


// Metodo FIND()
app.post("/sessions", function(req, res){
        // El primer parametros que pasamos es el query y el segundo son los  campos que nos quiere que
        // nos devuelva del socumenro que estamos extrayendo y despues pasamos un callback

        // findID
        /*user.findId("5980f68b8f9d2e2004f76a0d", function(err, docs){
              console.log(docs);
        })*/
        // FINDONE: Solo trae un documento de la basde de datos
        User.findOne({email:req.body.email, password:req.body.pass },function(err, user){
              req.session.user_id = user._id;
              res.redirect("/app");
        });
});

//  npm install express-session --save => para el manejo de sesiones en express
app.use("/app",session_middleware);
app.use("/app",router_app);
app.listen(8080);
 

app.js

FREDYS  FERNANDEZ
Module by FREDYS FERNANDEZ, updated more than 1 year ago
No tags specified