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
{
@@ -24,7 +23,7 @@ function sendSMS(string|int $phone, string|int $message)
$client = new Client();
$headers = [
'Content-Type' => 'application/json;charset=utf-8;',
'Charset' => 'UTF-8'
'Charset' => 'UTF-8',
];
$body = 'JSON={
"SendRequest": {
@@ -32,7 +31,7 @@ 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);

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

@@ -90,13 +90,7 @@
</span>
@enderror
</div>
<div class="flex mb-6">
<div class="ml-auto">
<a class="text-gray-500 font-bold no-underline" href="">
{{ __('Forgot your password?') }}
</a>
</div>
</div>
<div class="mb-6"></div>
<button class="w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center cursor-pointer rounded text-sm font-bold focus:outline-none focus:ring ring-primary-200 dark:ring-gray-600 inline-flex items-center justify-center h-9 px-3 mb-3 w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center" type="submit">
<span class=""><span>{{ __('Register') }}</span></span>
</button>

View File

@@ -20,7 +20,7 @@ Route::middleware('guest')->group(function () {
Route::post('/register', [RegisterController::class, 'register']);
});
Route::middleware('auth')->group(function () {
Route::middleware(['auth', 'un_verified'])->group(function () {
Route::get('sms-verification', [RegisterController::class, 'smsVerification'])->name('sms-verification');
Route::post('sms-verification', [RegisterController::class, 'verifySmsCode']);
});