Check file extensions

This commit is contained in:
2023-12-02 22:29:57 +05:00
parent b780a31a00
commit e940d17bad
9 changed files with 48 additions and 23 deletions

View File

@@ -7,7 +7,6 @@ use Illuminate\Support\Facades\Log;
/**
* Un mask phone from "+(993)-xx-xx-xx-xx"
* @param string|int $phone
*/
function unMaskPhone(string|int $phone): string
{
@@ -23,8 +22,8 @@ function sendSMS(string|int $phone, string|int $message)
{
$client = new Client();
$headers = [
'Content-Type' => 'application/json;charset=utf-8;',
'Charset' => 'UTF-8'
'Content-Type' => 'application/json;charset=utf-8;',
'Charset' => 'UTF-8',
];
$body = 'JSON={
"SendRequest": {
@@ -32,11 +31,11 @@ function sendSMS(string|int $phone, string|int $message)
"Version": "1",
"Lang": "EN",
"MobilePhone": "993'.$phone.'",
"Text": "'. $message .'"
"Text": "'.$message.'"
}
}';
$request = new Request('POST', 'http://10.3.158.103:8080/kpsmsroute/online.request', $headers, $body);
try {
$res = $client->sendAsync($request)->wait();

View File

@@ -8,12 +8,11 @@ use App\Models\User;
use App\Rules\PhoneCodeVerification;
use Illuminate\Auth\Events\Registered;
use Illuminate\Contracts\View\View;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Laravel\Nova\Nova;
use Illuminate\Support\Facades\Validator;
use Laravel\Nova\Nova;
class RegisterController extends Controller
{
@@ -39,7 +38,6 @@ class RegisterController extends Controller
/**
* Handle a registration request for the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
*/
public function register(Request $request)
@@ -104,11 +102,11 @@ class RegisterController extends Controller
public function verifySmsCode(Request $request)
{
$request->validate([
'code' => ['required', 'integer', new PhoneCodeVerification()]
'code' => ['required', 'integer', new PhoneCodeVerification()],
]);
auth()->user()->update([
'phone_verified_at' => now()
'phone_verified_at' => now(),
]);
return redirect(Nova::path());

View File

@@ -64,5 +64,6 @@ class Kernel extends HttpKernel
'signed' => \App\Http\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'un_verified' => \App\Http\Middleware\RedirectIfPhoneIsVerified::class,
];
}

View File

@@ -0,0 +1,25 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Laravel\Nova\Nova;
use Symfony\Component\HttpFoundation\Response;
class RedirectIfPhoneIsVerified
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
if (auth()->check() && auth()->user()->phoneIsVerified()) {
return redirect(Nova::path());
}
return $next($request);
}
}

View File

@@ -114,4 +114,12 @@ class User extends Authenticatable
{
return $this->id === $loanOrder->user_id;
}
/**
* Check if phone is verified
*/
public function phoneIsVerified(): bool
{
return ! is_null($this->phone_verified_at);
}
}

View File

@@ -316,28 +316,28 @@ class LoanOrder extends Resource
Image::make(__('Passport (page 1)'), 'passport_one')
->size('w-1/2')
->deletable(false)
->rules('max:2048')
->rules('max:2048', 'mimes:jpg,png,jpeg')
->creationRules('required')
->updateRules('nullable'),
Image::make(__('Passport (page 2-3)'), 'passport_two')
->size('w-1/2')
->deletable(false)
->rules('max:2048')
->rules('max:2048', 'mimes:jpg,png,jpeg')
->creationRules('required')
->updateRules('nullable'),
Image::make(__('Passport (page 8-9)'), 'passport_three')
->size('w-1/2')
->deletable(false)
->rules('max:2048')
->rules('max:2048', 'mimes:jpg,png,jpeg')
->creationRules('required')
->updateRules('nullable'),
Image::make(__('Passport (page 32)'), 'passport_four')
->size('w-1/2')
->deletable(false)
->rules('max:2048')
->rules('max:2048', 'mimes:jpg,png,jpeg')
->creationRules('required')
->updateRules('nullable'),
]),

View File

@@ -18,7 +18,7 @@ class PhoneCodeVerification implements ValidationRule
$verification = Verification::where('username', auth()->user()->phone)
->where('code', $value)
->first();
if (! $verification) {
$fail(__('Write a correct data please'));
}