Guest User

Untitled

a guest
Oct 17th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. import joi from 'joi'
  2. import validate from 'express-validation'
  3.  
  4. import middleware from 'middleware'
  5. import AuthService from 'auth.service'
  6.  
  7. /**
  8. * Controller's generic middleware
  9. */
  10. export const middleware = [middleware.authenticate('token')]
  11.  
  12. /**
  13. * POST auth/login endpoint
  14. *
  15. * @export
  16. * @param {any} req
  17. * @param {any} res
  18. */
  19. login.middleware = [middleware.guest('token'), validate({
  20. body: {
  21. type: joi.string().required(),
  22. token: joi.string().required()
  23. }
  24. })]
  25.  
  26. export async function login(req, res, next) {
  27. const service = new AuthService(req)
  28. try {
  29. await service.login()
  30. } catch(e) {
  31. return next(e)
  32. }
  33.  
  34. res.status(200).send({
  35. data: {
  36. token: service.getUserToken().token,
  37. profile: service.getUser()
  38. }
  39. })
  40. }
  41.  
  42. login.posmiddleware = []
  43.  
  44. /**
  45. *
  46. *
  47. * @export
  48. * @param {any} req
  49. * @param {any} res
  50. */
  51. logout.middleware = [middleware.authenticated('token')]
  52.  
  53. export async function logout(req, res, next) {
  54. const service = new AuthService(req, next)
  55. await service.logout()
  56.  
  57. res.status(200).send({
  58. data: 'success'
  59. })
  60. }
Add Comment
Please, Sign In to add comment