forge/app/Observers/ModVersionObserver.php
Refringe 74f61df875
Adds Mod Version Dependency System
Pretty nifty, but it still needs a few things before merge. Factory & front-end work, at least.
2024-07-26 02:19:42 -04:00

34 lines
958 B
PHP

<?php
namespace App\Observers;
use App\Models\ModDependency;
use App\Models\ModVersion;
use App\Services\ModVersionService;
class ModVersionObserver
{
protected ModVersionService $modVersionService;
public function __construct(ModVersionService $modVersionService)
{
$this->modVersionService = $modVersionService;
}
public function saved(ModVersion $modVersion): void
{
$dependencies = ModDependency::where('resolved_version_id', $modVersion->id)->get();
foreach ($dependencies as $dependency) {
$this->modVersionService->resolveDependencies($dependency->modVersion);
}
}
public function deleted(ModVersion $modVersion): void
{
$dependencies = ModDependency::where('resolved_version_id', $modVersion->id)->get();
foreach ($dependencies as $dependency) {
$this->modVersionService->resolveDependencies($dependency->modVersion);
}
}
}