tellform/app/routes/users.server.routes.js

68 lines
2.5 KiB
JavaScript
Raw Normal View History

2015-06-29 22:51:29 +00:00
'use strict';
/**
* Module dependencies.
*/
2016-08-26 00:54:16 +00:00
var passport = require('passport'),
config = require('../../config/config'),
auth = require('../../config/passport_helpers');
2015-06-29 22:51:29 +00:00
module.exports = function(app) {
// User Routes
var users = require('../../app/controllers/users.server.controller');
// Setting up the users profile api
2016-08-26 00:54:16 +00:00
app.route('/users/me').get(auth.isAuthenticatedOrApiKey, users.getUser);
app.route('/users').put(auth.isAuthenticatedOrApiKey, users.update);
2016-08-26 22:09:16 +00:00
app.route('/users/accounts').delete(users.requiresLogin, users.removeOAuthProvider);
2015-06-29 22:51:29 +00:00
2015-07-27 18:11:43 +00:00
// Setting up the users account verification api
app.route('/auth/verify/:token').get(users.validateVerificationToken);
2015-07-29 00:16:44 +00:00
app.route('/auth/verify').post(users.resendVerificationEmail);
2015-06-29 22:51:29 +00:00
// Setting up the users password api
2016-08-26 22:09:16 +00:00
app.route('/users/password').post(users.requiresLogin, users.changePassword);
2015-06-29 22:51:29 +00:00
app.route('/auth/forgot').post(users.forgot);
2015-11-12 23:40:44 +00:00
app.route('/auth/reset/:token').get(users.validateResetToken);
app.route('/auth/reset/:token').post(users.reset);
2015-06-29 22:51:29 +00:00
// Setting up the users authentication api
2016-04-29 07:01:39 +00:00
if(!config.signupDisabled) {
app.route('/auth/signup').post(users.signup);
}
app.route('/auth/signin').post(users.signin);
2015-06-29 22:51:29 +00:00
app.route('/auth/signout').get(users.signout);
2016-08-26 00:54:16 +00:00
app.route('/auth/genkey').get(users.requiresLogin, users.generateAPIKey);
2015-08-07 21:02:44 +00:00
// // Setting the facebook oauth routes
// app.route('/auth/facebook').get(passport.authenticate('facebook', {
// scope: ['email']
// }));
// app.route('/auth/facebook/callback').get(users.oauthCallback('facebook'));
// // Setting the twitter oauth routes
// app.route('/auth/twitter').get(passport.authenticate('twitter'));
// app.route('/auth/twitter/callback').get(users.oauthCallback('twitter'));
// // Setting the google oauth routes
// app.route('/auth/google').get(passport.authenticate('google', {
// scope: [
// 'https://www.googleapis.com/auth/userinfo.profile',
// 'https://www.googleapis.com/auth/userinfo.email'
// ]
// }));
// app.route('/auth/google/callback').get(users.oauthCallback('google'));
// // Setting the linkedin oauth routes
// app.route('/auth/linkedin').get(passport.authenticate('linkedin'));
// app.route('/auth/linkedin/callback').get(users.oauthCallback('linkedin'));
// // Setting the github oauth routes
// app.route('/auth/github').get(passport.authenticate('github'));
// app.route('/auth/github/callback').get(users.oauthCallback('github'));
2015-06-29 22:51:29 +00:00
// Finish by binding the user middleware
app.param('userId', users.userByID);
};