Viewing File: /home/assersoft/public_html/doctor-assistant/app/Filters/ProviderFilter.php
<?php
namespace App\Filters;
use CodeIgniter\Filters\FilterInterface;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Config\Services;
helper('cookie');
class ProviderFilter implements FilterInterface
{
public function before(RequestInterface $request, $arguments = null)
{
$accessToken = get_cookie('access_token');
if (!$accessToken) {
return Services::response()->setStatusCode(ResponseInterface::HTTP_UNAUTHORIZED)->setJSON(['error' => 'No access token provided']);
}
$decodedToken = decodeJWT($accessToken);
if (isset($decodedToken['error'])) {
return Services::response()->setStatusCode(ResponseInterface::HTTP_UNAUTHORIZED)->setJSON($decodedToken);
}
if($decodedToken->user_type !== 'provider') {
return Services::response()->setStatusCode(ResponseInterface::HTTP_UNAUTHORIZED)->setJSON(['error' => 'Unauthorized access']);
}
}
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null) {}
}
Back to Directory
File Manager