ultimatepos/Modules/ManagementTools/Services/ExecutiveCockpit/ModuleStatusResolver.php

31 lines
627 B
PHP

<?php
namespace Modules\ManagementTools\Services\ExecutiveCockpit;
use Nwidart\Modules\Facades\Module;
class ModuleStatusResolver
{
protected ?array $statuses = null;
public function all(): array
{
if ($this->statuses !== null) {
return $this->statuses;
}
$this->statuses = [];
foreach (Module::all() as $module) {
$this->statuses[$module->getName()] = $module->isEnabled();
}
return $this->statuses;
}
public function isEnabled(string $moduleKey): bool
{
return (bool) ($this->all()[$moduleKey] ?? false);
}
}