AccountLimit.php 886 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Models\Enums\CompanyReviewStatus;
  4. use Carbon\Carbon;
  5. use Closure;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Auth;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\HttpKernel\Exception\HttpException;
  10. class AccountLimit
  11. {
  12. /**
  13. * Handle an incoming request.
  14. *
  15. * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
  16. */
  17. public function handle(Request $request, Closure $next): Response
  18. {
  19. if (Auth::user()->company->review_status === CompanyReviewStatus::APPROVED->value && Auth::user()->status ===1 &&Carbon::parse(Auth::user()->company->exp_date)->gt(Carbon::now())) {
  20. return $next($request);
  21. }
  22. throw new HttpException(403, "Sorry, the account's authorization expires or is denied");
  23. }
  24. }