Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module.exports = {
- 'signup': function (req, res) {
- sails.i18n = require('sails/node_modules/i18n');
- sails.express = require('express');
- sails.url = require('url');
- sails.path = require('path');
- sails.request = require('request');
- sails.bodyParser = require('body-parser');
- var app = sails.express();
- app.use(sails.bodyParser.urlencoded({extended: false}));
- var url = require('url');
- var url_parts = url.parse(req.url, true);
- var query = url_parts.query;
- var lang = query['lang'];
- if(lang == undefined){
- lang = sails.config.i18n.defaultLocale;
- }
- sails.i18n.init(req, res);
- sails.i18n.defaultLocale = sails.config.i18n.defaultLocale;
- req.locale = lang;
- var langPr
- if(lang == sails.i18n.defaultLocale){
- langPr = "";
- } else {
- langPr = "?lang=" + lang;
- }
- res.view({
- language_choice : lang, langParams: langPr, currentParams: ""
- });
- },
- 'mobileCreate': function (req, res) {
- var params = req.params.all();
- var user = {
- fullname: params.fullname,
- address: params.address,
- phone: params.phone,
- city: params.city,
- state: params.state,
- country: params.country,
- email: params.email,
- password: params.password,
- confirmation: params.confirmation
- }
- UserManager.createUser(user, function (err, user) {
- if (err) {
- if (err.err && err.err.message) {
- res.json({
- status_code: 0,
- status_message: err.err.message
- })
- }
- else {
- res.json({
- status_message: "Internal server error!",
- status_code: 0,
- err: err
- })
- }
- return;
- }
- if (user) {
- res.json({
- status_code: 1,
- status_message: "Registration successful.",
- token: UserManager.generateAuthToken(user)
- });
- }
- else {
- res.json(err);
- }
- });
- },
- var jwt = require('jsonwebtoken')
- var bcrypt = require('bcrypt');
- var jwtSecret = "werisdkfrwerf";
- var ISSUER = "automator.com";
- var EXPIRY_TIME = 120*500;
- function genToken(user) {
- var token = jwt.sign({id: user.id}, jwtSecret, {issuer: ISSUER, expiresInMinutes: EXPIRY_TIME});
- return token;
- }
- module.exports = {
- hashPassword: function (plainTxtPassword, salt, next) {
- salt = salt || bcrypt.genSaltSync(6);
- bcrypt.hash(plainTxtPassword, salt, function (err, hash) {
- if (err) {
- return next({err: {message: "Something went wrong. Please try again later."}});
- }
- next(null, hash, salt);
- })
- },
- createUser: function (newUser, next) {
- User.findOneByEmail(newUser.email, function (err, user) {
- if (err) {
- return next({err: {message: "Failed to create user. Please try again later."}});
- }
- if (user) {
- return next({err: {message: "Email already registered. Please try a different email address."}})
- }
- User.create(newUser, function (err, user) {
- if (err) {
- return next({err: err});
- }
- next(null, user);
- })
- })
- },
- generateAuthToken: function (user) {
- return genToken(user);
- },
- generateAuthTokenFromPassword: function (username, password, next) {
- User.findOne({email: username}, function (err, user) {
- if (err) {
- return next({err: {message: "Something went wrong, please try again later."}});
- }
- if (!user) {
- return next({err: {message: "Invalid email address and/or password. Please enter valid login credentials and try again."}})
- }
- bcrypt.compare(password, user.encrypted_password, function (err, valid) {
- if (err) {
- return next({err: {message: "Something went wrong, please try again later."}});
- }
- if (!valid) {
- return next({err: {message: "Invalid email address and/or password. Please try again with valid login credentials."}});
- }
- else {
- next(null, user, genToken(user));
- }
- })
- })
- },
- getUserFromAuthToken: function (token, next) {
- jwt.verify(token, jwtSecret, {issuer: ISSUER}, function (err, user) {
- if (err) {
- return next(err);
- }
- User.findOne({id: user.id}, function (err, userData) {
- if (err) next(err);
- return next(null, userData);
- })
- })
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement