From db69904f38ba2238921cc723df15d502c80918ab Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Tue, 5 Nov 2024 18:40:23 +0500 Subject: [PATCH] add modules seeeders to base apps --- app/Filament/Resources/BankResource.php | 7 ++--- .../BankResource/Pages/CreateBank.php | 1 - .../Codes/PaymentPurposeCodeResource.php | 5 +-- .../Pages/CreatePaymentPurposeCode.php | 1 - app/Helpers/helpers.php | 22 +++++++------ app/Modules/.DS_Store | Bin 6148 -> 6148 bytes app/Modules/Bank/BankModule.php | 4 +-- .../Bank/Database/Seeders/BankTableSeeder.php | 10 +----- app/Modules/Bank/Models/Bank.php | 6 +--- .../Bank/Repositories/BankRepository.php | 7 +---- app/Modules/BaseModule.php | 12 ++++++++ .../Models/PaymentPurposeCode.php | 6 +--- .../PaymentPurposeCodeModule.php | 4 +-- .../PaymentPurposeCodeRepository.php | 7 +---- .../UserCompany/Models/UserCompany.php | 6 +--- .../Repositories/UserCompanyRepository.php | 7 +---- app/Modules/UserCompany/UserCompanyModule.php | 4 +-- app/Providers/AppServiceProvider.php | 7 +++-- database/seeders/DatabaseSeeder.php | 29 +++++++++++++++--- 19 files changed, 69 insertions(+), 76 deletions(-) create mode 100644 app/Modules/BaseModule.php diff --git a/app/Filament/Resources/BankResource.php b/app/Filament/Resources/BankResource.php index 90f2a93..4a21a16 100644 --- a/app/Filament/Resources/BankResource.php +++ b/app/Filament/Resources/BankResource.php @@ -3,17 +3,13 @@ namespace App\Filament\Resources; use App\Filament\Resources\BankResource\Pages; -use App\Filament\Resources\BankResource\RelationManagers; use App\Modules\Bank\Models\Bank; -use Filament\Forms; use Filament\Forms\Components\TextInput; use Filament\Forms\Form; use Filament\Resources\Resource; use Filament\Tables; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; -use Illuminate\Database\Eloquent\Builder; -use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Support\Carbon; class BankResource extends Resource @@ -21,6 +17,7 @@ class BankResource extends Resource protected static ?string $model = Bank::class; protected static ?string $navigationGroup = 'Settings'; + protected static ?string $navigationIcon = 'heroicon-o-building-library'; public static function form(Form $form): Form @@ -57,7 +54,7 @@ class BankResource extends Resource ->dateTime() ->sortable() ->sinceTooltip() - ->formatStateUsing(fn (?Carbon $state) => $state?->format('H:i, d.m.Y')) + ->formatStateUsing(fn (?Carbon $state) => $state?->format('H:i, d.m.Y')), ]) ->filters([ // diff --git a/app/Filament/Resources/BankResource/Pages/CreateBank.php b/app/Filament/Resources/BankResource/Pages/CreateBank.php index 38c6d15..75c1899 100644 --- a/app/Filament/Resources/BankResource/Pages/CreateBank.php +++ b/app/Filament/Resources/BankResource/Pages/CreateBank.php @@ -3,7 +3,6 @@ namespace App\Filament\Resources\BankResource\Pages; use App\Filament\Resources\BankResource; -use Filament\Actions; use Filament\Resources\Pages\CreateRecord; class CreateBank extends CreateRecord diff --git a/app/Filament/Resources/Codes/PaymentPurposeCodeResource.php b/app/Filament/Resources/Codes/PaymentPurposeCodeResource.php index c8950a4..4447129 100644 --- a/app/Filament/Resources/Codes/PaymentPurposeCodeResource.php +++ b/app/Filament/Resources/Codes/PaymentPurposeCodeResource.php @@ -3,23 +3,20 @@ namespace App\Filament\Resources\Codes; use App\Filament\Resources\Codes\PaymentPurposeCodeResource\Pages; -use App\Filament\Resources\Codes\PaymentPurposeCodeResource\RelationManagers; use App\Modules\PaymentPurposeCode\Models\PaymentPurposeCode; -use Filament\Forms; use Filament\Forms\Components\TextInput; use Filament\Forms\Form; use Filament\Resources\Resource; use Filament\Tables; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; -use Illuminate\Database\Eloquent\Builder; -use Illuminate\Database\Eloquent\SoftDeletingScope; class PaymentPurposeCodeResource extends Resource { protected static ?string $model = PaymentPurposeCode::class; protected static ?string $navigationIcon = 'heroicon-o-cube'; + protected static ?string $navigationGroup = 'Settings'; public static function form(Form $form): Form diff --git a/app/Filament/Resources/Codes/PaymentPurposeCodeResource/Pages/CreatePaymentPurposeCode.php b/app/Filament/Resources/Codes/PaymentPurposeCodeResource/Pages/CreatePaymentPurposeCode.php index a86d21a..ad0c923 100644 --- a/app/Filament/Resources/Codes/PaymentPurposeCodeResource/Pages/CreatePaymentPurposeCode.php +++ b/app/Filament/Resources/Codes/PaymentPurposeCodeResource/Pages/CreatePaymentPurposeCode.php @@ -3,7 +3,6 @@ namespace App\Filament\Resources\Codes\PaymentPurposeCodeResource\Pages; use App\Filament\Resources\Codes\PaymentPurposeCodeResource; -use Filament\Actions; use Filament\Resources\Pages\CreateRecord; class CreatePaymentPurposeCode extends CreateRecord diff --git a/app/Helpers/helpers.php b/app/Helpers/helpers.php index ed13692..3a09992 100644 --- a/app/Helpers/helpers.php +++ b/app/Helpers/helpers.php @@ -1,6 +1,8 @@ + * @return Collection */ function modules(bool $withDisabled = false): Collection { if (temp_cache()->has('modules')) { - /** @var Collection $modules */ + /** @var Collection $modules */ $modules = temp_cache('modules'); return $modules; @@ -74,21 +76,21 @@ function modules(bool $withDisabled = false): Collection foreach ($modulesDir as $modulePath) { $moduleName = Str::afterLast($modulePath, '/'); - $moduleOptions = [ - 'path' => $modulePath, - 'name' => $moduleName.'Module', - 'enabled' => module($moduleName)->isEnabled(), - ]; + $module = new BaseModule( + path: $modulePath, + name: $moduleName, + enabled: module($moduleName)->isEnabled() + ); // Include all if ($withDisabled) { - $modules->push($moduleOptions); + $modules->push($module); continue; } - if ($moduleOptions['enabled']) { - $modules->push($moduleOptions); + if ($module->enabled) { + $modules->push($module); } } diff --git a/app/Modules/.DS_Store b/app/Modules/.DS_Store index 4699e219b67b92553c701ee98cf5bdcddd5f4dae..4330fbb651925198d5a919e3040965cfb9c9c20c 100644 GIT binary patch delta 69 zcmZoMXfc=|#>B)qu~2NHo+2aD#(>?7lMO^zHuJM^Fm4v%5N4U!aCb912R{c;(Plx8 X@640=MI1R8fPj&Kfn{@q$QotB!ku~2NHo+2a1#(>?7iw&5W7&$icFmW?-voZuTlrWSsq%ovT)?jMj zFf}pLQ82Qwn7o0>z8*<3C*3eOIX}060RfO?bMswXl5+BsfRY??Hx^!2%Rc4^WTU7^ xA)ull1KkE5WCJ#HFi&RO%+A5j0rbsgMdt6!lles)IT#rjm_Sb293irX82~8bGwc8W diff --git a/app/Modules/Bank/BankModule.php b/app/Modules/Bank/BankModule.php index 21cf303..7405403 100644 --- a/app/Modules/Bank/BankModule.php +++ b/app/Modules/Bank/BankModule.php @@ -27,7 +27,7 @@ class BankModule implements ModuleContract */ public function disable(): void { - $this->enabled = false; + $this->enabled = false; } /** @@ -35,7 +35,7 @@ class BankModule implements ModuleContract */ public function enable(): void { - $this->enabled = true; + $this->enabled = true; } /** diff --git a/app/Modules/Bank/Database/Seeders/BankTableSeeder.php b/app/Modules/Bank/Database/Seeders/BankTableSeeder.php index 0125855..67169ae 100644 --- a/app/Modules/Bank/Database/Seeders/BankTableSeeder.php +++ b/app/Modules/Bank/Database/Seeders/BankTableSeeder.php @@ -3,7 +3,6 @@ namespace App\Modules\Bank\Database\Seeders; use App\Modules\Bank\Models\Bank; -use Exception; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\File; @@ -17,14 +16,7 @@ class BankTableSeeder extends Seeder $data = collect(File::json(__DIR__.'/../../Resources/Data/data.json')); $data->each(function ($item) { - try { - Bank::create(['bab' => $item['key'], 'name' => $item['value']]); - } catch (Exception $e) { - info([ - 'm' => $e->getMessage(), - 'item' => $item, - ]); - } + Bank::create(['bab' => $item['key'], 'name' => $item['value']]); }); } } diff --git a/app/Modules/Bank/Models/Bank.php b/app/Modules/Bank/Models/Bank.php index 67d3766..ecce1fd 100644 --- a/app/Modules/Bank/Models/Bank.php +++ b/app/Modules/Bank/Models/Bank.php @@ -2,7 +2,6 @@ namespace App\Modules\Bank\Models; -use Illuminate\Database\Eloquent\Concerns\HasUuids; use Illuminate\Database\Eloquent\Model; /** @@ -10,7 +9,4 @@ use Illuminate\Database\Eloquent\Model; * @property string $bab * @property ?string $hb */ -class Bank extends Model -{ - -} +class Bank extends Model {} diff --git a/app/Modules/Bank/Repositories/BankRepository.php b/app/Modules/Bank/Repositories/BankRepository.php index 9e06c04..8529617 100644 --- a/app/Modules/Bank/Repositories/BankRepository.php +++ b/app/Modules/Bank/Repositories/BankRepository.php @@ -2,9 +2,4 @@ namespace App\Modules\Bank\Repositories; -use App\Modules\Bank\Models\Bank; - -class BankRepository -{ - -} +class BankRepository {} diff --git a/app/Modules/BaseModule.php b/app/Modules/BaseModule.php new file mode 100644 index 0000000..1f9a7ce --- /dev/null +++ b/app/Modules/BaseModule.php @@ -0,0 +1,12 @@ +enabled = false; + $this->enabled = false; } /** @@ -35,7 +35,7 @@ class PaymentPurposeCodeModule implements ModuleContract */ public function enable(): void { - $this->enabled = true; + $this->enabled = true; } /** diff --git a/app/Modules/PaymentPurposeCode/Repositories/PaymentPurposeCodeRepository.php b/app/Modules/PaymentPurposeCode/Repositories/PaymentPurposeCodeRepository.php index 25f8e15..880f7ff 100644 --- a/app/Modules/PaymentPurposeCode/Repositories/PaymentPurposeCodeRepository.php +++ b/app/Modules/PaymentPurposeCode/Repositories/PaymentPurposeCodeRepository.php @@ -2,9 +2,4 @@ namespace App\Modules\PaymentPurposeCode\Repositories; -use App\Modules\PaymentPurposeCode\Models\PaymentPurposeCode; - -class PaymentPurposeCodeRepository -{ - -} +class PaymentPurposeCodeRepository {} diff --git a/app/Modules/UserCompany/Models/UserCompany.php b/app/Modules/UserCompany/Models/UserCompany.php index fe62f4f..da3b95a 100644 --- a/app/Modules/UserCompany/Models/UserCompany.php +++ b/app/Modules/UserCompany/Models/UserCompany.php @@ -2,10 +2,6 @@ namespace App\Modules\UserCompany\Models; -use Illuminate\Database\Eloquent\Concerns\HasUuids; use Illuminate\Database\Eloquent\Model; -class UserCompany extends Model -{ - -} +class UserCompany extends Model {} diff --git a/app/Modules/UserCompany/Repositories/UserCompanyRepository.php b/app/Modules/UserCompany/Repositories/UserCompanyRepository.php index f2f6efa..d5bcb94 100644 --- a/app/Modules/UserCompany/Repositories/UserCompanyRepository.php +++ b/app/Modules/UserCompany/Repositories/UserCompanyRepository.php @@ -2,9 +2,4 @@ namespace App\Modules\UserCompany\Repositories; -use App\Modules\UserCompany\Models\UserCompany; - -class UserCompanyRepository -{ - -} +class UserCompanyRepository {} diff --git a/app/Modules/UserCompany/UserCompanyModule.php b/app/Modules/UserCompany/UserCompanyModule.php index 3647927..2682bd7 100644 --- a/app/Modules/UserCompany/UserCompanyModule.php +++ b/app/Modules/UserCompany/UserCompanyModule.php @@ -27,7 +27,7 @@ class UserCompanyModule implements ModuleContract */ public function disable(): void { - $this->enabled = false; + $this->enabled = false; } /** @@ -35,7 +35,7 @@ class UserCompanyModule implements ModuleContract */ public function enable(): void { - $this->enabled = true; + $this->enabled = true; } /** diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index accf424..d676a94 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,6 +2,7 @@ namespace App\Providers; +use App\Modules\BaseModule; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\ServiceProvider; @@ -34,8 +35,10 @@ class AppServiceProvider extends ServiceProvider public function registerModules(): void { $migrationDirectories = []; - modules()->each(function ($module) use (&$migrationDirectories) { - is_dir($module['path'].'/Database/Migrations') ? array_push($migrationDirectories, $module['path'].'/Database/Migrations') : ''; // @phpstan-ignore-line + modules()->each(function (BaseModule $module) use (&$migrationDirectories) { + is_dir($module->path.'/Database/Migrations') + ? array_push($migrationDirectories, $module->path.'/Database/Migrations') + : ''; }); $this->loadMigrationsFrom($migrationDirectories); diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 5515e5d..7e973cf 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -3,9 +3,10 @@ namespace Database\Seeders; // use Illuminate\Database\Console\Seeds\WithoutModelEvents; -use App\Modules\Bank\Database\Seeders\BankTableSeeder; -use App\Modules\PaymentPurposeCode\Database\Seeders\PaymentPurposeCodeSeeder; + +use App\Modules\BaseModule; use Illuminate\Database\Seeder; +use Illuminate\Support\Facades\File; class DatabaseSeeder extends Seeder { @@ -14,8 +15,26 @@ class DatabaseSeeder extends Seeder */ public function run(): void { - $this->call([ - BankTableSeeder::class, - ]); + $seeders = []; + + modules()->each(function (BaseModule $module) use (&$seeders) { + $seedersPath = $module->path.'/Database/Seeders'; + + if (is_dir($seedersPath)) { + $files = File::files($seedersPath); + + foreach ($files as $file) { + $file->getFilenameWithoutExtension(); + + $moduleClass = 'App\\Modules\\'.$module->name.'\\Database\\Seeders\\'.$file->getFilenameWithoutExtension(); + + if (class_exists($moduleClass)) { + $seeders[] = $moduleClass; + } + } + } + }); + + $this->call($seeders); } }