d2d.emegrendeles.hu/app/Observers/FeatureFlagOverrideObserver.php

34 lines
803 B
PHP

<?php
namespace App\Observers;
use App\Models\FeatureFlagOverride;
use Laravel\Pennant\Feature;
class FeatureFlagOverrideObserver
{
/**
* Létrehozás/módosítás/törlés után csak az érintett usernek a gyorsítótárazott
* Pennant-feloldását érvénytelenítjük, a többi felhasználót nem érinti.
*/
public function saved(FeatureFlagOverride $override): void
{
$this->forget($override);
}
public function deleted(FeatureFlagOverride $override): void
{
$this->forget($override);
}
private function forget(FeatureFlagOverride $override): void
{
$user = $override->user;
$flag = $override->featureFlag;
if ($user && $flag) {
Feature::for($user)->forget($flag->name);
}
}
}