Skip to content

Commit 26b2cdc

Browse files
committed
fix: mark as deprecated old value 'database_seed_empty' for database_empty_seeder
1 parent 3e134df commit 26b2cdc

File tree

3 files changed

+43
-16
lines changed

3 files changed

+43
-16
lines changed

src/Commands/MakeEntityCommand.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
namespace RonasIT\Support\Commands;
44

5+
use Closure;
56
use Illuminate\Console\Command;
67
use Illuminate\Support\Arr;
78
use Illuminate\Support\Facades\Config;
89
use Illuminate\Support\Str;
910
use RonasIT\Support\Events\SuccessCreateMessage;
11+
use RonasIT\Support\Events\WarningMessage;
1012
use RonasIT\Support\Exceptions\ClassNotExistsException;
1113
use RonasIT\Support\Exceptions\EntityCreateException;
1214
use RonasIT\Support\Generators\ControllerGenerator;
@@ -166,7 +168,9 @@ public function handle()
166168
{
167169
$this->validateInput();
168170
$this->checkConfigs();
171+
169172
$this->eventDispatcher->listen(SuccessCreateMessage::class, $this->getSuccessMessageCallback());
173+
$this->eventDispatcher->listen(WarningMessage::class, $this->getWarningMessageCallback());
170174

171175
try {
172176
$this->generate();
@@ -299,11 +303,14 @@ protected function getRelations()
299303
];
300304
}
301305

302-
protected function getSuccessMessageCallback()
306+
protected function getSuccessMessageCallback(): Closure
307+
{
308+
return fn (SuccessCreateMessage $event) => $this->info($event->message);
309+
}
310+
311+
protected function getWarningMessageCallback(): Closure
303312
{
304-
return function (SuccessCreateMessage $event) {
305-
$this->info($event->message);
306-
};
313+
return fn (WarningMessage $event) => $this->warn($event->message);
307314
}
308315

309316
protected function getFields()

src/Events/WarningMessage.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
namespace RonasIT\Support\Events;
4+
5+
use Illuminate\Queue\SerializesModels;
6+
7+
class WarningMessage
8+
{
9+
use SerializesModels;
10+
11+
public string $message;
12+
13+
/**
14+
* Create a new event instance.
15+
*
16+
* @return void
17+
*/
18+
public function __construct($message)
19+
{
20+
$this->message = $message;
21+
}
22+
}

src/Generators/SeederGenerator.php

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Support\Arr;
66
use RonasIT\Support\Events\SuccessCreateMessage;
7+
use RonasIT\Support\Events\WarningMessage;
78
use RonasIT\Support\Exceptions\EntityCreateException;
89

910
class SeederGenerator extends EntityGenerator
@@ -21,8 +22,6 @@ public function __construct()
2122

2223
public function generate(): void
2324
{
24-
$this->checkConfigs();
25-
2625
if (!file_exists($this->databaseSeederPath)) {
2726
list($basePath, $databaseSeederDir) = extract_last_part($this->databaseSeederPath, '/');
2827

@@ -46,6 +45,15 @@ protected function createDatabaseSeeder(): void
4645
{
4746
$stubPath = config('entity-generator.stubs.database_empty_seeder');
4847

48+
//@TODO: remove after implementing https://github.com/RonasIT/laravel-entity-generator/issues/93
49+
if ($stubPath === 'entity-generator::database_seed_empty') {
50+
$stubPath = 'entity-generator::database_empty_seeder';
51+
52+
$message = "You are using the deprecated value for 'entity-generator.stubs.database_empty_seeder' config. Please use 'entity-generator::database_empty_seeder'.";
53+
54+
event(new WarningMessage($message));
55+
}
56+
4957
$content = "<?php \n\n" . view($stubPath, [
5058
'namespace' => $this->getOrCreateNamespace('seeders')
5159
])->render();
@@ -89,14 +97,4 @@ protected function appendSeederToList(): void
8997

9098
file_put_contents($this->databaseSeederPath, $fixedContent);
9199
}
92-
93-
protected function checkConfigs(): void
94-
{
95-
if (empty(config('entity-generator.stubs.seeder')) || empty(config('entity-generator.stubs.legacy_seeder'))) {
96-
throw new EntityCreateException('
97-
Looks like you have deprecated configs.
98-
Please follow instructions(https://github.com/RonasIT/laravel-entity-generator/blob/master/ReadMe.md#13)
99-
');
100-
}
101-
}
102100
}

0 commit comments

Comments
 (0)