diff options
Diffstat (limited to 'app/Controllers/Http/Dashboard/AccountController.ts')
-rw-r--r-- | app/Controllers/Http/Dashboard/AccountController.ts | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/app/Controllers/Http/Dashboard/AccountController.ts b/app/Controllers/Http/Dashboard/AccountController.ts index 5870f19..a748c75 100644 --- a/app/Controllers/Http/Dashboard/AccountController.ts +++ b/app/Controllers/Http/Dashboard/AccountController.ts | |||
@@ -1,6 +1,6 @@ | |||
1 | import type { HttpContext } from '@adonisjs/core/http' | 1 | import type { HttpContext } from '@adonisjs/core/http'; |
2 | import { schema, rules, validator } from '@adonisjs/validator' | 2 | import { schema, rules, validator } from '@adonisjs/validator'; |
3 | import crypto from 'node:crypto' | 3 | import crypto from 'node:crypto'; |
4 | 4 | ||
5 | export default class AccountController { | 5 | export default class AccountController { |
6 | /** | 6 | /** |
@@ -11,7 +11,7 @@ export default class AccountController { | |||
11 | username: auth.user?.username, | 11 | username: auth.user?.username, |
12 | email: auth.user?.email, | 12 | email: auth.user?.email, |
13 | lastname: auth.user?.lastname, | 13 | lastname: auth.user?.lastname, |
14 | }) | 14 | }); |
15 | } | 15 | } |
16 | 16 | ||
17 | /** | 17 | /** |
@@ -42,26 +42,26 @@ export default class AccountController { | |||
42 | lastname: schema.string([rules.required()]), | 42 | lastname: schema.string([rules.required()]), |
43 | }), | 43 | }), |
44 | data: request.only(['username', 'email', 'lastname']), | 44 | data: request.only(['username', 'email', 'lastname']), |
45 | }) | 45 | }); |
46 | } catch (error) { | 46 | } catch (error) { |
47 | session.flash(error.messages) | 47 | session.flash(error.messages); |
48 | return response.redirect('/user/account') | 48 | return response.redirect('/user/account'); |
49 | } | 49 | } |
50 | 50 | ||
51 | // Update user account | 51 | // Update user account |
52 | const { user } = auth | 52 | const { user } = auth; |
53 | if (user) { | 53 | if (user) { |
54 | user.username = request.input('username') | 54 | user.username = request.input('username'); |
55 | user.lastname = request.input('lastname') | 55 | user.lastname = request.input('lastname'); |
56 | user.email = request.input('email') | 56 | user.email = request.input('email'); |
57 | if (request.input('password')) { | 57 | if (request.input('password')) { |
58 | const hashedPassword = crypto | 58 | const hashedPassword = crypto |
59 | .createHash('sha256') | 59 | .createHash('sha256') |
60 | .update(request.input('password')) | 60 | .update(request.input('password')) |
61 | .digest('base64') | 61 | .digest('base64'); |
62 | user.password = hashedPassword | 62 | user.password = hashedPassword; |
63 | } | 63 | } |
64 | await user.save() | 64 | await user.save(); |
65 | } | 65 | } |
66 | 66 | ||
67 | return view.render('dashboard/account', { | 67 | return view.render('dashboard/account', { |
@@ -69,6 +69,6 @@ export default class AccountController { | |||
69 | lastname: user?.lastname, | 69 | lastname: user?.lastname, |
70 | email: user?.email, | 70 | email: user?.email, |
71 | success: user !== undefined, | 71 | success: user !== undefined, |
72 | }) | 72 | }); |
73 | } | 73 | } |
74 | } | 74 | } |