code improvements

This commit is contained in:
2025-10-28 23:27:38 +05:00
parent 75dfed138a
commit 02b555d7ce
4 changed files with 18 additions and 15 deletions

View File

@@ -2,6 +2,8 @@
namespace App\Modules\CardBalance; namespace App\Modules\CardBalance;
use App\Modules\Core\ModulePackage;
use App\Modules\Core\ModulePackageType;
use App\Modules\Makeable; use App\Modules\Makeable;
use App\Modules\ModuleContract; use App\Modules\ModuleContract;
@@ -51,7 +53,12 @@ class CardBalanceModule implements ModuleContract
*/ */
public function getComposerRequirements(): array public function getComposerRequirements(): array
{ {
return []; return [
new ModulePackage(
type: ModulePackageType::MODULE,
name: 'Card',
)
];
} }
/** /**

View File

@@ -7,7 +7,7 @@ class ModulePackage
public function __construct( public function __construct(
public ModulePackageType $type, public ModulePackageType $type,
public string $name, public string $name,
public string $message, public string $message = '',
public string $version = '', public string $version = '',
) {} ) {}
} }

View File

@@ -129,8 +129,6 @@ class ModuleRepository
/** /**
* Check if module exists * Check if module exists
*
* @param string $moduleName
*/ */
public function moduleExists(string $moduleName): bool public function moduleExists(string $moduleName): bool
{ {

View File

@@ -2,7 +2,6 @@
namespace App\Modules; namespace App\Modules;
use App\Modules\Core\ModulePackage;
use App\Modules\Core\ModulePackageType; use App\Modules\Core\ModulePackageType;
use Composer\Composer; use Composer\Composer;
use Composer\InstalledVersions; use Composer\InstalledVersions;
@@ -62,19 +61,18 @@ class ModuleServiceProvider extends ServiceProvider
public function verifyModuleComposerRequirements(BaseModule $module): void public function verifyModuleComposerRequirements(BaseModule $module): void
{ {
foreach ($module->app->getComposerRequirements() as $package) { foreach ($module->app->getComposerRequirements() as $package) {
$missingPackage = match ($package->type) { $packageInstalled = match ($package->type) {
ModulePackageType::PACKAGE => InstalledVersions::isInstalled($package->name), ModulePackageType::PACKAGE => InstalledVersions::isInstalled($package->name),
ModulePackageType::MODULE => module_exists($package->name), ModulePackageType::MODULE => module_exists($package->name),
default => true, default => true,
}; };
if ($missingPackage) { abort_if(
abort( boolean: ! $packageInstalled,
500, code: 500,
"{$package->name} {$package->version} {$package->type->value} must be installed (module: {$module->name}) \n message: "{$package->name} {$package->version} {$package->type->value} must be installed (module: {$module->name}) \n
{$package->message}" {$package->message}"
); );
}
} }
} }
@@ -84,9 +82,9 @@ class ModuleServiceProvider extends ServiceProvider
public function suggestModuleComposerSuggestions(BaseModule $module): void public function suggestModuleComposerSuggestions(BaseModule $module): void
{ {
foreach ($module->app->getComposerRequirements() as $package) { foreach ($module->app->getComposerRequirements() as $package) {
$missingPackage = match ($package->type) { $missingPackage = match ($package->type) {
ModulePackageType::PACKAGE => InstalledVersions::isInstalled($package->name), ModulePackageType::PACKAGE => InstalledVersions::isInstalled($package->name),
ModulePackageType::MODULE => module_exists($package->name), ModulePackageType::MODULE => module_exists($package->name),
default => true, default => true,
}; };