60 lines
2.5 KiB
PHP
60 lines
2.5 KiB
PHP
<?php
|
|
|
|
use App\Providers\AppServiceProvider;
|
|
use App\Providers\FortifyServiceProvider;
|
|
use Modules\Analytics\Providers\AnalyticsServiceProvider;
|
|
use Modules\Audit\Providers\AuditServiceProvider;
|
|
use Modules\CarrierManagement\Providers\CarrierManagementServiceProvider;
|
|
use Modules\Configuration\Providers\ConfigurationServiceProvider;
|
|
use Modules\DocumentArchive\Providers\DocumentArchiveServiceProvider;
|
|
use Modules\InternalApi\Providers\InternalApiServiceProvider;
|
|
use Modules\InventoryManagement\Providers\InventoryManagementServiceProvider;
|
|
use Modules\M3Integration\Providers\M3IntegrationServiceProvider;
|
|
use Modules\Platform\Providers\PlatformServiceProvider;
|
|
use Modules\Replenishment\Providers\ReplenishmentServiceProvider;
|
|
use Modules\Reporting\Providers\ReportingServiceProvider;
|
|
use Modules\Security\Providers\SecurityServiceProvider;
|
|
use Modules\SentinelIntegration\Providers\SentinelIntegrationServiceProvider;
|
|
use Modules\Shipping\Providers\ShippingServiceProvider;
|
|
use Modules\Transportation\Providers\TransportationServiceProvider;
|
|
use Modules\Warehouse\Providers\WarehouseServiceProvider;
|
|
|
|
$statusesPath = dirname(__DIR__).'/modules_statuses.json';
|
|
$statuses = is_file($statusesPath)
|
|
? json_decode((string) file_get_contents($statusesPath), true, 512, JSON_THROW_ON_ERROR)
|
|
: [];
|
|
|
|
$coreProviders = [
|
|
AppServiceProvider::class,
|
|
FortifyServiceProvider::class,
|
|
];
|
|
|
|
$moduleProviders = [
|
|
'Analytics' => AnalyticsServiceProvider::class,
|
|
'Audit' => AuditServiceProvider::class,
|
|
'CarrierManagement' => CarrierManagementServiceProvider::class,
|
|
'Configuration' => ConfigurationServiceProvider::class,
|
|
'DocumentArchive' => DocumentArchiveServiceProvider::class,
|
|
'InternalApi' => InternalApiServiceProvider::class,
|
|
'InventoryManagement' => InventoryManagementServiceProvider::class,
|
|
'M3Integration' => M3IntegrationServiceProvider::class,
|
|
'Platform' => PlatformServiceProvider::class,
|
|
'Replenishment' => ReplenishmentServiceProvider::class,
|
|
'Reporting' => ReportingServiceProvider::class,
|
|
'Security' => SecurityServiceProvider::class,
|
|
'SentinelIntegration' => SentinelIntegrationServiceProvider::class,
|
|
'Shipping' => ShippingServiceProvider::class,
|
|
'Transportation' => TransportationServiceProvider::class,
|
|
'Warehouse' => WarehouseServiceProvider::class,
|
|
];
|
|
|
|
$enabledModuleProviders = [];
|
|
|
|
foreach ($moduleProviders as $module => $provider) {
|
|
if (($statuses[$module] ?? false) === true) {
|
|
$enabledModuleProviders[] = $provider;
|
|
}
|
|
}
|
|
|
|
return array_merge($coreProviders, $enabledModuleProviders);
|