Advertisement
leonsuke

UserController.js

Dec 30th, 2018
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. 'use strict'
  2.  
  3. // add to the top of the file
  4. const User = use('App/Models/User')
  5. const { validate } = use('Validator')
  6.  
  7. var Web3 = require("web3")
  8.  
  9. const mainnet = 'http://127.0.0.1:7545';
  10.  
  11. let web3 = new Web3(new Web3.providers.HttpProvider(mainnet));
  12.  
  13. class UserController {
  14.  
  15. web3Running () {
  16. web3.eth.personal.newAccount(password)
  17. .then(data => {
  18. console.log('Success: ' + data)
  19. })
  20. }
  21.  
  22. async signup({request, response, auth}) {
  23.  
  24. // validate form input
  25. const validation = await validate(request.all(), {
  26. email: 'required|email:unique:users',
  27. username: 'required|unique:users',
  28. password: 'required'
  29. })
  30.  
  31. // show error messages upon validation fail
  32. if (validation.fails()) {
  33. return response.send(validation.messages())
  34. }
  35.  
  36. const user = new User()
  37. user.email = request.input('email')
  38. user.username = request.input('username')
  39. user.password = request.input('password')
  40.  
  41. // saving the user data
  42. await user.save()
  43. const address = await web3.eth.personal.newAccount(user.password, callback)
  44.  
  45. console.log(address)
  46.  
  47. // generate JWT token for user
  48. const token = await auth.generate(user)
  49.  
  50. return response.json({
  51. message: 'Successfully',
  52. data: token
  53. })
  54. }
  55.  
  56. async signin({request, response, auth}) {
  57. try {
  58. const parameter = request.only(['email', 'password'])
  59.  
  60. if (!parameter) {
  61. return response.status(404).json({data: 'Resource not found'})
  62. }
  63.  
  64. const token = await auth.attempt(parameter.email, parameter.password)
  65. return response.json({
  66. token: token
  67. })
  68. } catch(err) {
  69. return response.status(400).json({
  70. status: 'error',
  71. message: 'Problem occured while trying to sigin. Please try again.'
  72. })
  73. }
  74. }
  75. }
  76.  
  77. module.exports = UserController
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement