aboutsummaryrefslogtreecommitdiff
path: root/src/server/authentication/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/authentication/controllers')
-rw-r--r--src/server/authentication/controllers/user_controller.ts (renamed from src/server/authentication/controllers/user.ts)40
1 files changed, 26 insertions, 14 deletions
diff --git a/src/server/authentication/controllers/user.ts b/src/server/authentication/controllers/user_controller.ts
index 6c4139b2e..899912ab7 100644
--- a/src/server/authentication/controllers/user.ts
+++ b/src/server/authentication/controllers/user_controller.ts
@@ -1,4 +1,4 @@
-import { default as User, UserModel, AuthToken } from "../models/User";
+import { default as User, DashUserModel, AuthToken } from "../models/user_model";
import { Request, Response, NextFunction } from "express";
import * as passport from "passport";
import { IVerifyOptions } from "passport-local";
@@ -71,11 +71,7 @@ export let postSignup = (req: Request, res: Response, next: NextFunction) => {
User.findOne({ email }, (err, existingUser) => {
if (err) { return next(err); }
if (existingUser) {
- if (existingUser) {
- // existingUser.update({ $set: { email: please_work } }, (err, res) => { });
- }
- req.flash("errors", "Account with that email address already exists.");
- return res.redirect("/signup");
+ return res.redirect("/login");
}
user.save((err) => {
if (err) { return next(err); }
@@ -83,7 +79,7 @@ export let postSignup = (req: Request, res: Response, next: NextFunction) => {
if (err) {
return next(err);
}
- res.redirect("/");
+ res.redirect("/home");
});
});
});
@@ -122,25 +118,41 @@ export let postLogin = (req: Request, res: Response, next: NextFunction) => {
return res.redirect("/signup");
}
- passport.authenticate("local", (err: Error, user: UserModel, info: IVerifyOptions) => {
+ passport.authenticate("local", (err: Error, user: DashUserModel, info: IVerifyOptions) => {
if (err) { return next(err); }
if (!user) {
return res.redirect("/signup");
}
req.logIn(user, (err) => {
if (err) { return next(err); }
- req.flash("success", "Success! You are logged in.");
res.redirect("/home");
});
})(req, res, next);
};
+export let getWorkspaces = (req: Request, res: Response) => {
+ const user: DashUserModel = req.user;
+ if (!user) {
+ return res.redirect("/login");
+ }
+ res.render("workspace.pug", {
+ ids: user.allWorkspaceIds
+ });
+}
+
/**
* GET /logout
* Invokes the logout function on the request
* and destroys the user's current session.
*/
export let getLogout = (req: Request, res: Response) => {
+ const dashUser: DashUserModel | undefined = req.user;
+ if (dashUser) {
+ dashUser.update({ $set: { didSelectSessionWorkspace: false } }, () => { })
+ console.log("UPDATED :)");
+ } else {
+ console.log("NO USER BY LOGOUT");
+ }
req.logout();
const sess = req.session;
if (sess) {
@@ -170,7 +182,7 @@ export let postForgot = function (req: Request, res: Response, next: NextFunctio
})
},
function (token: string, done: any) {
- User.findOne({ email }, function (err, user: UserModel) {
+ User.findOne({ email }, function (err, user: DashUserModel) {
if (!user) {
// NO ACCOUNT WITH SUBMITTED EMAIL
return res.redirect('/forgot');
@@ -182,7 +194,7 @@ export let postForgot = function (req: Request, res: Response, next: NextFunctio
});
});
},
- function (token: Uint16Array, user: UserModel, done: any) {
+ function (token: Uint16Array, user: DashUserModel, done: any) {
const smtpTransport = nodemailer.createTransport({
service: 'Gmail',
auth: {
@@ -211,7 +223,7 @@ export let postForgot = function (req: Request, res: Response, next: NextFunctio
}
export let getReset = function (req: Request, res: Response) {
- User.findOne({ passwordResetToken: req.params.token, passwordResetExpires: { $gt: Date.now() } }, function (err, user: UserModel) {
+ User.findOne({ passwordResetToken: req.params.token, passwordResetExpires: { $gt: Date.now() } }, function (err, user: DashUserModel) {
if (!user || err) {
return res.redirect('/forgot');
}
@@ -225,7 +237,7 @@ export let getReset = function (req: Request, res: Response) {
export let postReset = function (req: Request, res: Response) {
async.waterfall([
function (done: any) {
- User.findOne({ passwordResetToken: req.params.token, passwordResetExpires: { $gt: Date.now() } }, function (err, user: UserModel) {
+ User.findOne({ passwordResetToken: req.params.token, passwordResetExpires: { $gt: Date.now() } }, function (err, user: DashUserModel) {
if (!user || err) {
return res.redirect('back');
}
@@ -254,7 +266,7 @@ export let postReset = function (req: Request, res: Response) {
});
});
},
- function (user: UserModel, done: any) {
+ function (user: DashUserModel, done: any) {
const smtpTransport = nodemailer.createTransport({
service: 'Gmail',
auth: {