diff options
author | vantezzen <properly@protonmail.com> | 2019-09-05 11:22:49 +0200 |
---|---|---|
committer | vantezzen <properly@protonmail.com> | 2019-09-05 11:22:49 +0200 |
commit | 29b8334b060dc0c05a509d523ead4b3a30229fef (patch) | |
tree | 4dbfcfb90a3eff31acd219b27557bbdc594f589f /app/Controllers/Http/DashboardController.js | |
parent | Add cookie notice to login page (diff) | |
download | ferdium-server-29b8334b060dc0c05a509d523ead4b3a30229fef.tar.gz ferdium-server-29b8334b060dc0c05a509d523ead4b3a30229fef.tar.zst ferdium-server-29b8334b060dc0c05a509d523ead4b3a30229fef.zip |
Add eslint
Diffstat (limited to 'app/Controllers/Http/DashboardController.js')
-rw-r--r-- | app/Controllers/Http/DashboardController.js | 61 |
1 files changed, 31 insertions, 30 deletions
diff --git a/app/Controllers/Http/DashboardController.js b/app/Controllers/Http/DashboardController.js index aa8127f..49f6cc0 100644 --- a/app/Controllers/Http/DashboardController.js +++ b/app/Controllers/Http/DashboardController.js | |||
@@ -1,7 +1,6 @@ | |||
1 | 'use strict' | ||
2 | 1 | ||
3 | const { | 2 | const { |
4 | validateAll | 3 | validateAll, |
5 | } = use('Validator'); | 4 | } = use('Validator'); |
6 | 5 | ||
7 | const crypto = require('crypto'); | 6 | const crypto = require('crypto'); |
@@ -11,7 +10,7 @@ class DashboardController { | |||
11 | request, | 10 | request, |
12 | response, | 11 | response, |
13 | auth, | 12 | auth, |
14 | session | 13 | session, |
15 | }) { | 14 | }) { |
16 | const validation = await validateAll(request.all(), { | 15 | const validation = await validateAll(request.all(), { |
17 | mail: 'required|email', | 16 | mail: 'required|email', |
@@ -20,25 +19,25 @@ class DashboardController { | |||
20 | if (validation.fails()) { | 19 | if (validation.fails()) { |
21 | session.withErrors({ | 20 | session.withErrors({ |
22 | type: 'danger', | 21 | type: 'danger', |
23 | message: 'Invalid mail or password' | 22 | message: 'Invalid mail or password', |
24 | }).flashExcept(['password']); | 23 | }).flashExcept(['password']); |
25 | return response.redirect('back'); | 24 | return response.redirect('back'); |
26 | } | 25 | } |
27 | 26 | ||
28 | let { | 27 | const { |
29 | mail, | 28 | mail, |
30 | password | 29 | password, |
31 | } = request.all() | 30 | } = request.all(); |
32 | 31 | ||
33 | const hashedPassword = crypto.createHash('sha256').update(password).digest('base64'); | 32 | const hashedPassword = crypto.createHash('sha256').update(password).digest('base64'); |
34 | 33 | ||
35 | try { | 34 | try { |
36 | await auth.authenticator('session').attempt(mail, hashedPassword) | 35 | await auth.authenticator('session').attempt(mail, hashedPassword); |
37 | } catch (error) { | 36 | } catch (error) { |
38 | session.flash({ | 37 | session.flash({ |
39 | type: 'danger', | 38 | type: 'danger', |
40 | message: 'Invalid mail or password' | 39 | message: 'Invalid mail or password', |
41 | }) | 40 | }); |
42 | return response.redirect('back'); | 41 | return response.redirect('back'); |
43 | } | 42 | } |
44 | return response.redirect('/user/account'); | 43 | return response.redirect('/user/account'); |
@@ -46,17 +45,18 @@ class DashboardController { | |||
46 | 45 | ||
47 | async account({ | 46 | async account({ |
48 | auth, | 47 | auth, |
49 | view | 48 | view, |
49 | response, | ||
50 | }) { | 50 | }) { |
51 | try { | 51 | try { |
52 | await auth.check() | 52 | await auth.check(); |
53 | } catch (error) { | 53 | } catch (error) { |
54 | return response.redirect('/user/login'); | 54 | return response.redirect('/user/login'); |
55 | } | 55 | } |
56 | 56 | ||
57 | return view.render('dashboard.account', { | 57 | return view.render('dashboard.account', { |
58 | username: auth.user.username, | 58 | username: auth.user.username, |
59 | email: auth.user.email | 59 | email: auth.user.email, |
60 | }); | 60 | }); |
61 | } | 61 | } |
62 | 62 | ||
@@ -65,11 +65,11 @@ class DashboardController { | |||
65 | request, | 65 | request, |
66 | session, | 66 | session, |
67 | view, | 67 | view, |
68 | response | 68 | response, |
69 | }) { | 69 | }) { |
70 | let validation = await validateAll(request.all(), { | 70 | let validation = await validateAll(request.all(), { |
71 | username: 'required', | 71 | username: 'required', |
72 | email: 'required' | 72 | email: 'required', |
73 | }); | 73 | }); |
74 | if (validation.fails()) { | 74 | if (validation.fails()) { |
75 | session.withErrors(validation.messages()).flashExcept(['password']); | 75 | session.withErrors(validation.messages()).flashExcept(['password']); |
@@ -80,19 +80,19 @@ class DashboardController { | |||
80 | if (request.input('username') !== auth.user.username) { | 80 | if (request.input('username') !== auth.user.username) { |
81 | validation = await validateAll(request.all(), { | 81 | validation = await validateAll(request.all(), { |
82 | username: 'required|unique:users,username', | 82 | username: 'required|unique:users,username', |
83 | email: 'required' | 83 | email: 'required', |
84 | }); | 84 | }); |
85 | if (validation.fails()) { | 85 | if (validation.fails()) { |
86 | session.withErrors(validation.messages()).flashExcept(['password']); | 86 | session.withErrors(validation.messages()).flashExcept(['password']); |
87 | return response.redirect('back'); | 87 | return response.redirect('back'); |
88 | } | 88 | } |
89 | } | 89 | } |
90 | 90 | ||
91 | // Check new email | 91 | // Check new email |
92 | if (request.input('email') !== auth.user.email) { | 92 | if (request.input('email') !== auth.user.email) { |
93 | validation = await validateAll(request.all(), { | 93 | validation = await validateAll(request.all(), { |
94 | username: 'required', | 94 | username: 'required', |
95 | email: 'required|email|unique:users,email' | 95 | email: 'required|email|unique:users,email', |
96 | }); | 96 | }); |
97 | if (validation.fails()) { | 97 | if (validation.fails()) { |
98 | session.withErrors(validation.messages()).flashExcept(['password']); | 98 | session.withErrors(validation.messages()).flashExcept(['password']); |
@@ -101,24 +101,25 @@ class DashboardController { | |||
101 | } | 101 | } |
102 | 102 | ||
103 | // Update user account | 103 | // Update user account |
104 | auth.user.username = request.input('username'); | 104 | const { user } = auth; |
105 | auth.user.email = request.input('email'); | 105 | user.username = request.input('username'); |
106 | if (!!request.input('password')) { | 106 | user.email = request.input('email'); |
107 | if (request.input('password')) { | ||
107 | const hashedPassword = crypto.createHash('sha256').update(request.input('password')).digest('base64'); | 108 | const hashedPassword = crypto.createHash('sha256').update(request.input('password')).digest('base64'); |
108 | auth.user.password = hashedPassword; | 109 | user.password = hashedPassword; |
109 | } | 110 | } |
110 | auth.user.save(); | 111 | user.save(); |
111 | 112 | ||
112 | return view.render('dashboard.account', { | 113 | return view.render('dashboard.account', { |
113 | username: auth.user.username, | 114 | username: user.username, |
114 | email: auth.user.email, | 115 | email: user.email, |
115 | success: true | 116 | success: true, |
116 | }); | 117 | }); |
117 | } | 118 | } |
118 | 119 | ||
119 | async data({ | 120 | async data({ |
120 | auth, | 121 | auth, |
121 | view | 122 | view, |
122 | }) { | 123 | }) { |
123 | const general = auth.user; | 124 | const general = auth.user; |
124 | const services = (await auth.user.services().fetch()).toJSON(); | 125 | const services = (await auth.user.services().fetch()).toJSON(); |
@@ -136,7 +137,7 @@ class DashboardController { | |||
136 | 137 | ||
137 | logout({ | 138 | logout({ |
138 | auth, | 139 | auth, |
139 | response | 140 | response, |
140 | }) { | 141 | }) { |
141 | auth.authenticator('session').logout(); | 142 | auth.authenticator('session').logout(); |
142 | return response.redirect('/user/login'); | 143 | return response.redirect('/user/login'); |
@@ -144,7 +145,7 @@ class DashboardController { | |||
144 | 145 | ||
145 | delete({ | 146 | delete({ |
146 | auth, | 147 | auth, |
147 | response | 148 | response, |
148 | }) { | 149 | }) { |
149 | auth.user.delete(); | 150 | auth.user.delete(); |
150 | auth.authenticator('session').logout(); | 151 | auth.authenticator('session').logout(); |
@@ -152,4 +153,4 @@ class DashboardController { | |||
152 | } | 153 | } |
153 | } | 154 | } |
154 | 155 | ||
155 | module.exports = DashboardController | 156 | module.exports = DashboardController; |