Advertisement
Guest User

Untitled

a guest
Aug 24th, 2018
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.41 KB | None | 0 0
  1. 'use strict'
  2.  
  3. const { validate } = use('Validator')
  4. const User = use('App/Models/User')
  5. const Emails = use('App/Models/Email')
  6. const Mail = use('Mail')
  7. const Persona = use('Persona')
  8.  
  9. class AuthController {
  10. constructor () {
  11. Persona.registerationRules = () => {
  12. return {
  13. username: 'required|unique:users',
  14. email: 'required|email|unique:users',
  15. password: 'required'
  16. }
  17. }
  18. Persona.loginRules = function () {
  19. return {
  20. email: 'required|email',
  21. password: 'required'
  22. }
  23. }
  24. }
  25.  
  26. async register ({ request, auth, response }) {
  27. const payload = request.only(['username', 'email', 'password', 'password_confirmation'])
  28. const user = await Persona.register(payload)
  29. await auth.login(user)
  30. response.redirect('/me/')
  31. }
  32.  
  33. async login ({ request, auth, response }) {
  34. const payload = request.only(['uid', 'password'])
  35. const user = await Persona.verify(payload)
  36. await auth.login(user)
  37. response.redirect('/dashboard')
  38. }
  39.  
  40.  
  41. // async register({ session, request, response }) {
  42.  
  43. // const messages = {
  44. // 'username.required': 'Veuillez indiquer votre pseudo.',
  45. // 'email.required': 'Veuillez entrer une adresse email valide.',
  46. // 'email.email': 'Veuillez entrer une adresse email valide.',
  47. // 'username.unique': 'Ce pseudo est déjà utilisé.',
  48. // 'email.unique': 'Cette adresse email est déjà utilisé.',
  49. // 'password.required': 'Veuillez indiquer votre mot de passe.',
  50. // 'password_conf.required_if': 'Veuillez répéter votre mot de passe.',
  51. // 'password_conf.same': 'Veuillez mettre le même mot de passe.'
  52. // }
  53.  
  54. // const rules = {
  55. // username: 'required|unique:users',
  56. // email: 'required|email|unique:users',
  57. // password: 'required',
  58. // password_conf: 'required_if:password|same:password',
  59. // }
  60.  
  61. // const data = request.only(['username', 'email', 'password', 'password_conf'])
  62. // data.role = 0;
  63.  
  64. // const validation = await validate(data, rules, messages)
  65.  
  66. // if (validation.fails()) {
  67. // session
  68. // .withErrors(validation.messages())
  69. // .flashExcept(['password_conf'])
  70.  
  71. // return response.redirect('back')
  72. // }
  73.  
  74. // delete data.password_conf
  75.  
  76.  
  77. // await User.create(data)
  78. // await Emails.findOrCreate({ email: data.email },{ email: data.email })
  79.  
  80. // session.flash({
  81. // account_created: 'Compte crée avec succès'
  82. // })
  83.  
  84. // try {
  85. // await Mail.send('mails.inscription', data, (message) => {
  86. // message
  87. // .to(data.email)
  88. // .from('no-reply@draftman.fr', 'draftman.fr')
  89. // .subject('Inscription sur DraftMan.fr')
  90. // .replyTo('contact@draftman.fr', 'DraftMan')
  91. // })
  92. // } catch (error) {
  93. // console.log('inscription mail: '+error.errors)
  94. // }
  95.  
  96. // return response.redirect('/login')
  97. // }
  98.  
  99. // async login({ auth, request, response, session }) {
  100. // const {email, password} = request.only(['email','password'])
  101.  
  102. // const messages = {
  103. // 'email.required': 'Veuillez entrer une adresse email valide.',
  104. // 'email.email': 'Veuillez entrer une adresse email valide.',
  105. // 'password.required': 'Veuillez indiquer votre mot de passe.',
  106. // }
  107.  
  108. // const rules = {
  109. // email: 'required|email',
  110. // password: 'required',
  111. // }
  112.  
  113. // const validation = await validate(request.all(), rules, messages)
  114.  
  115. // if (validation.fails()) {
  116. // session
  117. // .withErrors(validation.messages())
  118. // .flashExcept(['password'])
  119.  
  120. // return response.redirect('back')
  121. // }
  122.  
  123. // try {
  124. // await auth.remember(true).attempt(email, password);
  125. // } catch (e) {
  126. // session.flashExcept(['password'])
  127. // session.flash({error: 'Identifiant ou mot de passe incorect'})
  128. // return response.redirect('back')
  129. // }
  130.  
  131. // return response.redirect('/me/')
  132. // }
  133.  
  134. // logout({auth, session, response}) {
  135. // return Promise.all([
  136. // session.clear(),
  137. // auth.logout()
  138. // ]).then(() => {
  139. // session.flash({
  140. // account_logout: 'Vous vous êtes déconnecté avec succès'
  141. // })
  142. // return response.redirect("/login");
  143. // }).catch(err => console.log(err));
  144. // }
  145. }
  146. module.exports = AuthController
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement