Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.48 KB | None | 0 0
  1. passport.use(
  2. 'local-signup',
  3. new LocalStrategy(
  4. {
  5. usernameField: 'username',
  6. passwordField: 'password',
  7. passReqToCallback: true,
  8. },
  9. (req, username, password, done) => {
  10. db.query(
  11. `SELECT name, email, username FROM aen_users WHERE username = "${username}" OR email = "${
  12. req.body.email
  13. }" `,
  14. {
  15. type: sequelize.QueryTypes.SELECT,
  16. },
  17. )
  18. .then(user => {
  19. if (user[0]) {
  20. return done(null, false, {
  21. message: 'signUpMessage',
  22. email: user[0].email == req.body.email,
  23. username: user[0].username == username,
  24. });
  25. }
  26.  
  27. let from = 0;
  28. if (req.session.redirectTo) {
  29. from = +req.session.redirectTo.split('/player/')[1]
  30. ? +req.session.redirectTo.split('/player/')[1]
  31. : 0;
  32. }
  33.  
  34. const newUser = req.body;
  35. newUser.access = 10;
  36. db.query(
  37. `INSERT INTO aen_users(name, username, email, password, access, affiliate)
  38. VALUES(
  39. "${newUser.name}",
  40. "${newUser.username}",
  41. "${newUser.email}",
  42. "${bcrypt.hashSync(newUser.password, 10)}",
  43. "${newUser.access}",
  44. "${from}"
  45. )`,
  46. { type: sequelize.QueryTypes.INSERT },
  47. )
  48. .then(
  49. db
  50. .query(
  51. `SELECT id FROM aen_users WHERE username = "${username}"`,
  52. { type: sequelize.QueryTypes.SELECT },
  53. )
  54. .then(data => {
  55. newUser.id = data[0].id;
  56.  
  57. console.log('Promo code');
  58. console.log(newUser);
  59.  
  60. if (req.body.promo) {
  61. db.query(
  62. `
  63. SELECT * FROM sk_promo
  64. WHERE title = '${newUser.promo}'
  65. `,
  66. { type: sequelize.QueryTypes.SELECT },
  67. ).then(promocode => {
  68. if (promocode[0]) {
  69. db.query(
  70. `
  71. INSERT INTO sk_userpromo(user_id, promo_id)
  72. VALUES (${newUser.id}, ${promocode[0].id})
  73. `,
  74. { type: sequelize.QueryTypes.INSERT },
  75. ).then(() => {
  76. db.query(
  77. `
  78. UPDATE aen_users SET affiliate = ${
  79. promocode[0].affiliate
  80. }
  81. WHERE id = ${newUser.id}
  82. `,
  83. { type: sequelize.QueryTypes.UPDATE },
  84. ).then(() => done(null, newUser, {newUser: true}));
  85. });
  86. } else {
  87. return done(null, newUser, {newUser: true});
  88. }
  89. });
  90. } else {
  91. return done(null, newUser, {newUser: true});
  92. }
  93. }),
  94. )
  95. .catch(error => {
  96. done(error);
  97. });
  98. return null;
  99. })
  100. .catch(error => {
  101. done(error);
  102. });
  103. },
  104. ),
  105. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement