validate telephone id after form request

This commit is contained in:
2025-05-07 09:25:49 +03:30
parent dad61c212b
commit 4c06c38bc2
6 changed files with 27 additions and 13 deletions

View File

@@ -6,7 +6,7 @@ use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class ValidateIP
class ValidateAdmin
{
/**
* Handle an incoming request.
@@ -15,7 +15,7 @@ class ValidateIP
*/
public function handle(Request $request, Closure $next): Response
{
if (in_array($request->ip(), config('globalVariables.TRUSTED_IP'))) {
if (auth()->user()->username === 'witel') {
return $next($request);
}
abort(403);

View File

@@ -4,6 +4,7 @@ namespace App\Http\Requests\Auth;
use App\Models\User;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
class LoginRequest extends FormRequest
@@ -13,11 +14,6 @@ class LoginRequest extends FormRequest
*/
public function authorize(): bool
{
$user = User::query()->where('telephone_id', '=', $this->telephone_id)->first();
if ($user && $user->is_online === 1) {
return false;
}
$user->update(['telephone_id' => null]);
return true;
}
@@ -34,4 +30,22 @@ class LoginRequest extends FormRequest
'telephone_id' => 'required|string'
];
}
public function after(): array
{
return [
function (Validator $validator) {
$user = User::query()->where('telephone_id', '=', $this->telephone_id);
if ($user->exists()) {
if ($user->first()->is_online) {
$validator->errors()->add(
'telephone_id',
__('messages.telephone_id_is_in_use')
);
}
$user->first()->update(['telephone_id' => null]);
}
}
];
}
}

View File

@@ -23,7 +23,7 @@ class ListRequest extends FormRequest
public function rules(): array
{
return [
'phone_number' => 'regex:/^09\d{9}$/',
'phone_number' => 'string',
'size' => 'integer'
];
}

View File

@@ -23,7 +23,7 @@ class ChangePasswordRequest extends FormRequest
{
return [
'current_password' => 'required|min:8|max:255',
'new_password' => 'required|confirmed|regex:/^(?=.*[a-zA-Z])(?=.*\d).+$/|min:8|max:255',
'new_password' => 'required|regex:/^(?=.*[a-zA-Z])(?=.*\d).+$/|min:8|max:255',
];
}
}

View File

@@ -30,7 +30,7 @@ return [
|
*/
'path' => env('PULSE_PATH', 'pulse'),
'path' => env('PULSE_PATH', 'server/pulse'),
/*
|--------------------------------------------------------------------------
@@ -122,7 +122,7 @@ return [
'middleware' => [
'web',
\App\Http\Middleware\ValidateIP::class
\App\Http\Middleware\ValidateAdmin::class
],
/*

View File

@@ -42,7 +42,7 @@ return [
|
*/
'path' => env('TELESCOPE_PATH', 'telescope'),
'path' => env('TELESCOPE_PATH', 'server/telescope'),
/*
|--------------------------------------------------------------------------
@@ -94,7 +94,7 @@ return [
'middleware' => [
'web',
\App\Http\Middleware\ValidateIP::class,
\App\Http\Middleware\ValidateAdmin::class,
],
/*