ultimatepos/app/Http/Middleware/ResolveHoldingContext.php

28 lines
804 B
PHP

<?php
namespace App\Http\Middleware;
use App\Services\Holding\ContextAssignmentService;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Symfony\Component\HttpFoundation\Response;
class ResolveHoldingContext
{
public function __construct(protected ContextAssignmentService $contextAssignmentService)
{
}
public function handle(Request $request, Closure $next): Response
{
if (config('constants.enable_holding_context_rbac') && Auth::check()) {
$assignment = $this->contextAssignmentService->resolveFromRequest($request, Auth::user());
$request->attributes->set('active_assignment', $assignment);
view()->share('activeHoldingAssignment', $assignment);
}
return $next($request);
}
}