From 2ad43db1ed01fe0b5b116ddda1a5177c9f62c130 Mon Sep 17 00:00:00 2001 From: MCMXC <16797721+mcmxcdev@users.noreply.github.com> Date: Sat, 10 Feb 2024 18:37:40 -0700 Subject: updates --- app/Controllers/Http/Dashboard/LoginController.ts | 49 ++++++++++++----------- 1 file changed, 26 insertions(+), 23 deletions(-) (limited to 'app/Controllers/Http/Dashboard/LoginController.ts') diff --git a/app/Controllers/Http/Dashboard/LoginController.ts b/app/Controllers/Http/Dashboard/LoginController.ts index 5a54448..3367a2f 100644 --- a/app/Controllers/Http/Dashboard/LoginController.ts +++ b/app/Controllers/Http/Dashboard/LoginController.ts @@ -1,15 +1,15 @@ -import type { HttpContext } from '@adonisjs/core/http' -import { schema, rules, validator } from '@adonisjs/validator' -import User from '#app/Models/User' -import crypto from 'node:crypto' -import { handleVerifyAndReHash } from '../../../../helpers/PasswordHash.js' +import type { HttpContext } from '@adonisjs/core/http'; +import { schema, rules, validator } from '@adonisjs/validator'; +import User from '#app/Models/User'; +import crypto from 'node:crypto'; +import { handleVerifyAndReHash } from '../../../../helpers/PasswordHash.js'; export default class LoginController { /** * Display the login form */ public async show({ view }: HttpContext) { - return view.render('dashboard/login') + return view.render('dashboard/login'); } /** @@ -23,51 +23,54 @@ export default class LoginController { password: schema.string([rules.required()]), }), data: request.only(['mail', 'password']), - }) + }); } catch { session.flash({ type: 'danger', message: 'Invalid mail or password', - }) - session.flashExcept(['password']) + }); + session.flashExcept(['password']); - return response.redirect('/user/login') + return response.redirect('/user/login'); } try { - const { mail, password } = request.all() + const { mail, password } = request.all(); // Check if user with email exists - const user = await User.query().where('email', mail).first() + const user = await User.query().where('email', mail).first(); if (!user?.email) { - throw new Error('User credentials not valid (Invalid email)') + throw new Error('User credentials not valid (Invalid email)'); } - const hashedPassword = crypto.createHash('sha256').update(password).digest('base64') + const hashedPassword = crypto + .createHash('sha256') + .update(password) + .digest('base64'); // Verify password - let isMatchedPassword = false + let isMatchedPassword = false; try { - isMatchedPassword = await handleVerifyAndReHash(user, hashedPassword) + isMatchedPassword = await handleVerifyAndReHash(user, hashedPassword); } catch (error) { - return response.internalServerError({ message: error.message }) + return response.internalServerError({ message: error.message }); } if (!isMatchedPassword) { - throw new Error('User credentials not valid (Invalid password)') + throw new Error('User credentials not valid (Invalid password)'); } - await auth.use('web').login(user) + await auth.use('web').login(user); - return response.redirect('/user/account') + return response.redirect('/user/account'); } catch { session.flash({ type: 'danger', message: 'Invalid mail or password', - }) - session.flashExcept(['password']) + }); + session.flashExcept(['password']); - return response.redirect('/user/login') + return response.redirect('/user/login'); } } } -- cgit v1.2.3-70-g09d2