Guest User

Untitled

a guest
Apr 14th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. router.post('/user', async (ctx, next) => {
  2. let body = await validate(ctx.request.body, registerUserSchema)
  3. .catch(e => ctx.throw(400, e.message))
  4.  
  5. let UserModel = ctx.models['user']
  6. let User = new UserModel()
  7. let exists = await User.exists(body.email)
  8. .catch(e => ctx.throw(400, e.message))
  9. if (exists) ctx.throw(409, 'email already in use')
  10.  
  11. let password = await hashPassword(body.password)
  12. .catch(e => ctx.throw(400, e.message))
  13.  
  14. let newUser = {
  15. email: body.email,
  16. password,
  17. createdAt: Date.now(),
  18. loginType: 1
  19. }
  20.  
  21. let user = await User.add(newUser)
  22. .catch(e => ctx.throw(400, e.message))
  23.  
  24. let payload = only(user, '_id')
  25. let token = await encode(payload)
  26. .catch(e => e.message)
  27.  
  28. ctx.body = {
  29. token
  30. }
  31. })
  32. }
Add Comment
Please, Sign In to add comment