complete Complete User Request Submission section RAD-1

This commit is contained in:
2026-01-03 19:14:30 +03:30
commit 7137ec5792
393 changed files with 152602 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
<?php
namespace App\Services\Auth;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class AuthService
{
public function getLevelsForPhone(string $phone): array
{
session()->flush();
$users = User::where('phone', $phone)->get(['level']);
return $users
->map(fn($user) => match ($user->level) {
'پزشک' => 'doctor',
'سرپرست' => 'supervisor',
'دانپزشک' => 'veterinarian',
default => null,
})
->filter()
->unique()
->values()
->all();
}
public function authenticateByPhoneAndLevel(string $phone, string $level, string $password): ?User
{
$user = User::where('phone', $phone)
->where('level', $level)
->first();
if (! $user) return null;
if (! Hash::check($password, $user->password)) return null;
Auth::login($user);
session()->regenerate();
session()->forget('register_phone' , 'verified_phone' , 'otp_verified' , 'login_phone' , 'login_level' , 'available_levels');
return $user;
}
}