GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Modul 7 von 7 · Text

app.js

FREDYS FERNANDEZ

// 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);
 

Anleitung

Um im Kurs weiterzukommen, sende einen Versuch dieses Quiz ab. Du kannst ihn nach der letzten Frage absenden.

Zum gewählten Modul

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck