Explorar el Código

fix login para aceitar cracha do associado

Gustavo Zanatta hace 1 mes
padre
commit
27fa1a140e

+ 1 - 1
app/Http/Controllers/AuthController.php

@@ -18,7 +18,7 @@ class AuthController extends Controller
         $validated = $request->validated();
 
         $result = $this->authService->login(
-            email: $validated["email"],
+            identifier: $validated["identifier"],
             password: $validated["password"],
             tipo: $validated["tipo"],
         );

+ 1 - 1
app/Http/Requests/AuthRequest.php

@@ -9,7 +9,7 @@ class AuthRequest extends FormRequest
     public function rules(): array
     {
         return [
-            "email" => "required|string|email",
+            "identifier" => "required|string",
             "password" => "required|string",
             "tipo" => "required|string|in:administrador,associado,parceiro",
         ];

+ 8 - 3
app/Services/AuthService.php

@@ -9,17 +9,22 @@ use App\Enums\UserTypeEnum;
 use Carbon\Carbon;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Hash;
 use Illuminate\Support\Str;
 
 class AuthService
 {
-    public function login(string $email, string $password, string $tipo): ?array
+    public function login(string $identifier, string $password, string $tipo): ?array
     {
-        if (!Auth::attempt(["email" => $email, "password" => $password])) {
+        $user = User::where("email", $identifier)
+            ->orWhere("registration", $identifier)
+            ->first();
+
+        if (!$user || !Hash::check($password, $user->password)) {
             return null;
         }
 
-        $user = User::where("email", $email)->first();
+        Auth::login($user);
 
         if ($user->type->value !== $tipo) {
             Auth::logout();