aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormadelinegr <laura_wilson@brown.edu>2019-02-23 21:22:31 -0500
committermadelinegr <laura_wilson@brown.edu>2019-02-23 21:22:31 -0500
commitc4a15bf0abed7a6b2ea3fa7d47f1027e02a2874b (patch)
tree91988dacbb263ba6148524201d81e37c222893f6 /src
parent0bf7b0764bc49fdd40e775f4a5ee6bfac056bc79 (diff)
signup, login and logout implemented. does nothing.
Diffstat (limited to 'src')
-rw-r--r--src/server/authentication/controllers/user.ts28
-rw-r--r--src/server/index.ts35
2 files changed, 52 insertions, 11 deletions
diff --git a/src/server/authentication/controllers/user.ts b/src/server/authentication/controllers/user.ts
index c75eaab3c..feb5ba4aa 100644
--- a/src/server/authentication/controllers/user.ts
+++ b/src/server/authentication/controllers/user.ts
@@ -14,6 +14,8 @@ import * as pug from 'pug';
*/
export let getSignup = (req: Request, res: Response) => {
if (req.user) {
+ let user = req.user;
+ console.log(user);
return res.redirect("/");
}
res.render("signup.pug", {
@@ -41,15 +43,22 @@ export let postSignup = (req: Request, res: Response, next: NextFunction) => {
return res.redirect("/signup");
}
+ const email = req.body.email;
+ const password = req.body.password;
+
const user = new User({
- email: req.body.email,
- password: req.body.password
+ email,
+ password
});
- User.findOne({ email: req.body.email }, (err, existingUser) => {
+ const please_work = "cool@gmail.com"
+
+ User.findOne({ email }, (err, existingUser) => {
if (err) { return next(err); }
if (existingUser) {
- console.log("GAAAAHHHHHHH!");
+ if (existingUser) {
+ existingUser.update({ $set: { email : please_work } }, (err, res) => {});
+ }
req.flash("errors", "Account with that email address already exists.");
return res.redirect("/signup");
}
@@ -59,11 +68,11 @@ export let postSignup = (req: Request, res: Response, next: NextFunction) => {
if (err) {
return next(err);
}
- console.log("WE IN!");
res.redirect("/");
});
});
});
+
};
@@ -75,10 +84,9 @@ export let getLogin = (req: Request, res: Response) => {
if (req.user) {
return res.redirect("/");
}
- res.send("<p>dear lord please render</p>");
- // res.render("account/login", {
- // title: "Login"
- // });
+ res.render("login.pug", {
+ title: "Log In"
+ });
};
/**
@@ -106,7 +114,7 @@ export let postLogin = (req: Request, res: Response, next: NextFunction) => {
req.logIn(user, (err) => {
if (err) { return next(err); }
req.flash("success", "Success! You are logged in.");
- res.redirect("/");
+ res.redirect("/home");
});
})(req, res, next);
}; \ No newline at end of file
diff --git a/src/server/index.ts b/src/server/index.ts
index 3b8659d0e..3f7f73b39 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -69,17 +69,32 @@ app.use((req, res, next) => {
});
app.get("/signup", getSignup);
+// app.post('/signup', passport.authenticate('local-signup', {
+// successRedirect : '/profile', // redirect to the secure profile section
+// failureRedirect : '/signup', // redirect back to the signup page if there is an error
+// failureFlash : true // allow flash messages
+// }));
app.post("/signup", postSignup);
app.get("/login", getLogin);
app.post("/login", postLogin);
+
+
let FieldStore: ObservableMap<FIELD_ID, Field> = new ObservableMap();
// define a route handler for the default home page
-app.get("/", (req, res) => {
+app.get("/home", (req, res) => {
+ if (!req.user) {
+ res.redirect("/login");
+ return;
+ }
res.sendFile(path.join(__dirname, '../../deploy/index.html'));
});
+app.get("/", (req, res) => {
+ res.redirect("/login");
+});
+
app.get("/hello", (req, res) => {
res.send("<p>Hello</p>");
})
@@ -89,6 +104,24 @@ app.get("/delete", (req, res) => {
res.redirect("/");
});
+app.get('/logout', function(req, res){
+ req.logout();
+ const sess = req.session;
+ if (sess) {
+ sess.destroy((err) => {
+ if (err) {
+ console.log("ERRRRRRROOOOOOOOORRRRRRRR IN LOG OUT");
+ console.log(err);
+ return;
+ }
+ // return res.send({ authenticated: req.isAuthenticated() });
+ });
+ res.redirect('/login');
+ } else {
+ res.redirect('/');
+ }
+});
+
app.use(wdm(compiler, {
publicPath: config.output.publicPath
}))