Advertisement
Guest User

Untitled

a guest
Sep 7th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. const knex = require('knex')({
  2. client: 'mysql',
  3. connection: {
  4. host: process.env.database_host,
  5. user: process.env.database_user,
  6. password: process.env.database_pass,
  7. database: process.env.database_db,
  8. charset: 'utf8'
  9. }
  10. });
  11. const bcrypt = require('bcrypt');
  12. const bookshelf = require('bookshelf')(knex);
  13. const User = bookshelf.Model.extend({
  14. tableName: 'users'
  15. });
  16.  
  17. const checkValues = (values) => {
  18. // todo: add data validation
  19. return true;
  20. };
  21.  
  22. exports.test = (database) => {
  23. // todo: add tests
  24. };
  25.  
  26. exports.handler = (event, context, callback) => {
  27. let salt = bcrypt.genSaltSync();
  28.  
  29. let values = {
  30. first_name: event.firstname,
  31. last_name: event.lastname,
  32. username: event.username,
  33. date_of_birth: event.birthday,
  34. password: bcrypt.hashSync(event.password, salt),
  35. password_salt: salt
  36. };
  37.  
  38. if (!checkValues(values)) {
  39. callback(null, {
  40. success: false,
  41. error: {
  42. id: 2,
  43. details: 'data validation error'
  44. }
  45. });
  46.  
  47. context.done(null, "User not created");
  48.  
  49. return;
  50. }
  51.  
  52. try {
  53. new User({
  54. 'first_name': values.first_name,
  55. 'last_name': values.last_name,
  56. 'username': values.username,
  57. 'date_of_birth': values.date_of_birth,
  58. 'password': values.password,
  59. 'password_salt': values.password_salt
  60. }).save();
  61.  
  62. callback(null, {
  63. success: true
  64. });
  65.  
  66. context.done(null, "User created");
  67. } catch (err) {
  68. console.log(err);
  69.  
  70. callback(null, {
  71. success: false,
  72. error: {
  73. id: 1,
  74. details: 'error inserting user into database'
  75. }
  76. });
  77.  
  78. context.done(null, "User not created");
  79. }
  80. };
  81.  
  82. {
  83. "errorMessage": "2017-09-07T08:38:50.174Z f2368466-93a7-11e7-b4bc-01142a109ede Task timed out after 10.00 seconds"
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement