36 lines
729 B
PHP
36 lines
729 B
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use App\Enums\Portal;
|
|
|
|
/**
|
|
* Hält den aktiven Portal-Kontext für den aktuellen Request.
|
|
*
|
|
* Wird vom SetCurrentPortal-Middleware gesetzt und von PortalScope gelesen.
|
|
* In CLI-Befehlen und Queue-Jobs bleibt der Kontext null → kein Filter.
|
|
*/
|
|
class CurrentPortalContext
|
|
{
|
|
private static ?Portal $portal = null;
|
|
|
|
public static function set(?Portal $portal): void
|
|
{
|
|
static::$portal = $portal;
|
|
}
|
|
|
|
public static function get(): ?Portal
|
|
{
|
|
return static::$portal;
|
|
}
|
|
|
|
public static function isActive(): bool
|
|
{
|
|
return static::$portal !== null;
|
|
}
|
|
|
|
public static function clear(): void
|
|
{
|
|
static::$portal = null;
|
|
}
|
|
}
|