добавлен авторищация по api, экспорт и импорт продуктов

This commit is contained in:
abdurahman
2024-01-08 17:13:13 +05:00
parent c08b36d1b6
commit af1e381ca0
14 changed files with 906 additions and 434 deletions

View File

@@ -0,0 +1,54 @@
<?php
namespace Modules\Api\Http\Middleware;
use Carbon\Carbon;
use Closure;
use Illuminate\Http\Request;
use Modules\Api\Entities\ApiToken;
class ApiAuthorization
{
/**
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string $permission
* @param string $to
* @return \Illuminate\Http\Response
*/
public function handle(Request $request, Closure $next)
{
if ($this->hasAccess($request)) {
return $next($request);
}
return $this->handleUnauthorizedRequest($request);
}
/**
* @param \Illuminate\Http\Request $request
* @param string $permission
* @return \Illuminate\Http\Response
*/
private function handleUnauthorizedRequest(Request $request)
{
return response()->json([
'status' => 'Unauthorized.'
], 401);
}
private function hasAccess(Request $request)
{
$token = $request->header('authorization');
$hasToken = ApiToken::query()
->where('token', $token)
->exists();
if (!empty($token) && $hasToken) {
return true;
}
return false;
}
}