You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.1 KiB

2 years ago
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use App\CentralLogics\Helpers;
use App\Models\Vendor;
class VendorTokenIsValid
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
Helpers::check_subscription_validity();
$token=$request->bearerToken();
if(strlen($token)<1)
{
return response()->json([
'errors' => [
['code' => 'auth-001', 'message' => 'Unauthorized.']
]
], 401);
}
$vendor = Vendor::where('auth_token', $token)->first();
if($vendor)
{
$request['vendor']=$vendor;
return $next($request);
}
return response()->json([
'errors' => [
['code' => 'auth-001', 'message' => 'Unauthorized.']
]
], 401);
}
}