|
|
|
|
@@ -12,7 +12,7 @@ import "../config/passport";
|
|
|
|
|
* GET /login
|
|
|
|
|
* Login page.
|
|
|
|
|
*/
|
|
|
|
|
export let getLogin = (req: Request, res: Response) => {
|
|
|
|
|
export const getLogin = (req: Request, res: Response) => {
|
|
|
|
|
if (req.user) {
|
|
|
|
|
return res.redirect("/");
|
|
|
|
|
}
|
|
|
|
|
@@ -25,7 +25,7 @@ export let getLogin = (req: Request, res: Response) => {
|
|
|
|
|
* POST /login
|
|
|
|
|
* Sign in using email and password.
|
|
|
|
|
*/
|
|
|
|
|
export let postLogin = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
export const postLogin = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
req.assert("email", "Email is not valid").isEmail();
|
|
|
|
|
req.assert("password", "Password cannot be blank").notEmpty();
|
|
|
|
|
req.sanitize("email").normalizeEmail({ gmail_remove_dots: false });
|
|
|
|
|
@@ -55,7 +55,7 @@ export let postLogin = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
* GET /logout
|
|
|
|
|
* Log out.
|
|
|
|
|
*/
|
|
|
|
|
export let logout = (req: Request, res: Response) => {
|
|
|
|
|
export const logout = (req: Request, res: Response) => {
|
|
|
|
|
req.logout();
|
|
|
|
|
res.redirect("/");
|
|
|
|
|
};
|
|
|
|
|
@@ -64,7 +64,7 @@ export let logout = (req: Request, res: Response) => {
|
|
|
|
|
* GET /signup
|
|
|
|
|
* Signup page.
|
|
|
|
|
*/
|
|
|
|
|
export let getSignup = (req: Request, res: Response) => {
|
|
|
|
|
export const getSignup = (req: Request, res: Response) => {
|
|
|
|
|
if (req.user) {
|
|
|
|
|
return res.redirect("/");
|
|
|
|
|
}
|
|
|
|
|
@@ -77,7 +77,7 @@ export let getSignup = (req: Request, res: Response) => {
|
|
|
|
|
* POST /signup
|
|
|
|
|
* Create a new local account.
|
|
|
|
|
*/
|
|
|
|
|
export let postSignup = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
export const postSignup = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
req.assert("email", "Email is not valid").isEmail();
|
|
|
|
|
req.assert("password", "Password must be at least 4 characters long").len({ min: 4 });
|
|
|
|
|
req.assert("confirmPassword", "Passwords do not match").equals(req.body.password);
|
|
|
|
|
@@ -117,7 +117,7 @@ export let postSignup = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
* GET /account
|
|
|
|
|
* Profile page.
|
|
|
|
|
*/
|
|
|
|
|
export let getAccount = (req: Request, res: Response) => {
|
|
|
|
|
export const getAccount = (req: Request, res: Response) => {
|
|
|
|
|
res.render("account/profile", {
|
|
|
|
|
title: "Account Management"
|
|
|
|
|
});
|
|
|
|
|
@@ -127,7 +127,7 @@ export let getAccount = (req: Request, res: Response) => {
|
|
|
|
|
* POST /account/profile
|
|
|
|
|
* Update profile information.
|
|
|
|
|
*/
|
|
|
|
|
export let postUpdateProfile = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
export const postUpdateProfile = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
req.assert("email", "Please enter a valid email address.").isEmail();
|
|
|
|
|
req.sanitize("email").normalizeEmail({ gmail_remove_dots: false });
|
|
|
|
|
|
|
|
|
|
@@ -163,7 +163,7 @@ export let postUpdateProfile = (req: Request, res: Response, next: NextFunction)
|
|
|
|
|
* POST /account/password
|
|
|
|
|
* Update current password.
|
|
|
|
|
*/
|
|
|
|
|
export let postUpdatePassword = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
export const postUpdatePassword = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
req.assert("password", "Password must be at least 4 characters long").len({ min: 4 });
|
|
|
|
|
req.assert("confirmPassword", "Passwords do not match").equals(req.body.password);
|
|
|
|
|
|
|
|
|
|
@@ -189,7 +189,7 @@ export let postUpdatePassword = (req: Request, res: Response, next: NextFunction
|
|
|
|
|
* POST /account/delete
|
|
|
|
|
* Delete user account.
|
|
|
|
|
*/
|
|
|
|
|
export let postDeleteAccount = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
export const postDeleteAccount = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
User.remove({ _id: req.user.id }, (err) => {
|
|
|
|
|
if (err) { return next(err); }
|
|
|
|
|
req.logout();
|
|
|
|
|
@@ -202,7 +202,7 @@ export let postDeleteAccount = (req: Request, res: Response, next: NextFunction)
|
|
|
|
|
* GET /account/unlink/:provider
|
|
|
|
|
* Unlink OAuth provider.
|
|
|
|
|
*/
|
|
|
|
|
export let getOauthUnlink = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
export const getOauthUnlink = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
const provider = req.params.provider;
|
|
|
|
|
User.findById(req.user.id, (err, user: any) => {
|
|
|
|
|
if (err) { return next(err); }
|
|
|
|
|
@@ -220,7 +220,7 @@ export let getOauthUnlink = (req: Request, res: Response, next: NextFunction) =>
|
|
|
|
|
* GET /reset/:token
|
|
|
|
|
* Reset Password page.
|
|
|
|
|
*/
|
|
|
|
|
export let getReset = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
export const getReset = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
if (req.isAuthenticated()) {
|
|
|
|
|
return res.redirect("/");
|
|
|
|
|
}
|
|
|
|
|
@@ -243,7 +243,7 @@ export let getReset = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
* POST /reset/:token
|
|
|
|
|
* Process the reset password request.
|
|
|
|
|
*/
|
|
|
|
|
export let postReset = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
export const postReset = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
req.assert("password", "Password must be at least 4 characters long.").len({ min: 4 });
|
|
|
|
|
req.assert("confirm", "Passwords must match.").equals(req.body.password);
|
|
|
|
|
|
|
|
|
|
@@ -305,7 +305,7 @@ export let postReset = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
* GET /forgot
|
|
|
|
|
* Forgot Password page.
|
|
|
|
|
*/
|
|
|
|
|
export let getForgot = (req: Request, res: Response) => {
|
|
|
|
|
export const getForgot = (req: Request, res: Response) => {
|
|
|
|
|
if (req.isAuthenticated()) {
|
|
|
|
|
return res.redirect("/");
|
|
|
|
|
}
|
|
|
|
|
@@ -318,7 +318,7 @@ export let getForgot = (req: Request, res: Response) => {
|
|
|
|
|
* POST /forgot
|
|
|
|
|
* Create a random token, then the send user an email with a reset link.
|
|
|
|
|
*/
|
|
|
|
|
export let postForgot = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
export const postForgot = (req: Request, res: Response, next: NextFunction) => {
|
|
|
|
|
req.assert("email", "Please enter a valid email address.").isEmail();
|
|
|
|
|
req.sanitize("email").normalizeEmail({ gmail_remove_dots: false });
|
|
|
|
|
|
|
|
|
|
|