Skip to content

Commit b574a32

Browse files
committed
feat: file system used and test for api_scaffold command
1 parent 115e995 commit b574a32

37 files changed

+227
-98
lines changed

src/Commands/API/APIControllerGeneratorCommand.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ public function handle()
2525
{
2626
parent::handle();
2727

28-
$controllerGenerator = new APIControllerGenerator();
28+
/** @var APIControllerGenerator $controllerGenerator */
29+
$controllerGenerator = app(APIControllerGenerator::class);
2930
$controllerGenerator->generate();
3031

3132
$this->performPostActions();

src/Commands/API/APIRequestsGeneratorCommand.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ public function handle()
2525
{
2626
parent::handle();
2727

28-
$controllerGenerator = new APIRequestGenerator();
28+
/** @var APIRequestGenerator $controllerGenerator */
29+
$controllerGenerator = app(APIRequestGenerator::class);
2930
$controllerGenerator->generate();
3031

3132
$this->performPostActions();

src/Commands/API/TestsGeneratorCommand.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,12 @@ public function handle()
2626
{
2727
parent::handle();
2828

29-
$repositoryTestGenerator = new RepositoryTestGenerator();
29+
/** @var RepositoryTestGenerator $repositoryTestGenerator */
30+
$repositoryTestGenerator = app(RepositoryTestGenerator::class);
3031
$repositoryTestGenerator->generate();
3132

32-
$apiTestGenerator = new APITestGenerator();
33+
/** @var APITestGenerator $apiTestGenerator */
34+
$apiTestGenerator = app(APITestGenerator::class);
3335
$apiTestGenerator->generate();
3436

3537
$this->performPostActions();

src/Commands/BaseCommand.php

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -58,87 +58,87 @@ public function handle()
5858
public function generateCommonItems()
5959
{
6060
if (!$this->option('fromTable') and !$this->isSkip('migration')) {
61-
$migrationGenerator = new MigrationGenerator();
61+
$migrationGenerator = app(MigrationGenerator::class);
6262
$migrationGenerator->generate();
6363
}
6464

6565
if (!$this->isSkip('model')) {
66-
$modelGenerator = new ModelGenerator();
66+
$modelGenerator = app(ModelGenerator::class);
6767
$modelGenerator->generate();
6868
}
6969

7070
if (!$this->isSkip('repository') && $this->config->options->repositoryPattern) {
71-
$repositoryGenerator = new RepositoryGenerator();
71+
$repositoryGenerator = app(RepositoryGenerator::class);
7272
$repositoryGenerator->generate();
7373
}
7474

7575
if ($this->config->options->factory || (!$this->isSkip('tests') and $this->config->addons->tests)) {
76-
$factoryGenerator = new FactoryGenerator();
76+
$factoryGenerator = app(FactoryGenerator::class);
7777
$factoryGenerator->generate();
7878
}
7979

8080
if ($this->config->options->seeder) {
81-
$seederGenerator = new SeederGenerator();
81+
$seederGenerator = app(SeederGenerator::class);
8282
$seederGenerator->generate();
8383
}
8484
}
8585

8686
public function generateAPIItems()
8787
{
8888
if (!$this->isSkip('requests') and !$this->isSkip('api_requests')) {
89-
$requestGenerator = new APIRequestGenerator();
89+
$requestGenerator = app(APIRequestGenerator::class);
9090
$requestGenerator->generate();
9191
}
9292

9393
if (!$this->isSkip('controllers') and !$this->isSkip('api_controller')) {
94-
$controllerGenerator = new APIControllerGenerator();
94+
$controllerGenerator = app(APIControllerGenerator::class);
9595
$controllerGenerator->generate();
9696
}
9797

9898
if (!$this->isSkip('routes') and !$this->isSkip('api_routes')) {
99-
$routesGenerator = new APIRoutesGenerator();
99+
$routesGenerator = app(APIRoutesGenerator::class);
100100
$routesGenerator->generate();
101101
}
102102

103103
if (!$this->isSkip('tests') and $this->config->addons->tests) {
104104
if ($this->config->options->repositoryPattern) {
105-
$repositoryTestGenerator = new RepositoryTestGenerator();
105+
$repositoryTestGenerator = app(RepositoryTestGenerator::class);
106106
$repositoryTestGenerator->generate();
107107
}
108108

109-
$apiTestGenerator = new APITestGenerator();
109+
$apiTestGenerator = app(APITestGenerator::class);
110110
$apiTestGenerator->generate();
111111
}
112112
if ($this->config->options->resources) {
113-
$apiResourceGenerator = new APIResourceGenerator();
113+
$apiResourceGenerator = app(APIResourceGenerator::class);
114114
$apiResourceGenerator->generate();
115115
}
116116
}
117117

118118
public function generateScaffoldItems()
119119
{
120120
if (!$this->isSkip('requests') and !$this->isSkip('scaffold_requests')) {
121-
$requestGenerator = new RequestGenerator();
121+
$requestGenerator = app(RequestGenerator::class);
122122
$requestGenerator->generate();
123123
}
124124

125125
if (!$this->isSkip('controllers') and !$this->isSkip('scaffold_controller')) {
126-
$controllerGenerator = new ControllerGenerator();
126+
$controllerGenerator = app(ControllerGenerator::class);
127127
$controllerGenerator->generate();
128128
}
129129

130130
if (!$this->isSkip('views')) {
131-
$viewGenerator = new ViewGenerator();
131+
$viewGenerator = app(ViewGenerator::class);
132132
$viewGenerator->generate();
133133
}
134134

135135
if (!$this->isSkip('routes') and !$this->isSkip('scaffold_routes')) {
136-
$routeGenerator = new RoutesGenerator();
136+
$routeGenerator = app(RoutesGenerator::class);
137137
$routeGenerator->generate();
138138
}
139139

140140
if (!$this->isSkip('menu')) {
141-
$menuGenerator = new MenuGenerator();
141+
$menuGenerator = app(MenuGenerator::class);
142142
$menuGenerator->generate();
143143
}
144144
}
@@ -156,7 +156,7 @@ public function performPostActions($runMigration = false)
156156
$requestFromConsole = (php_sapi_name() == 'cli');
157157
if ($this->option('jsonFromGUI') && $requestFromConsole) {
158158
$this->runMigration();
159-
} elseif ($requestFromConsole && $this->confirm("\nDo you want to migrate database? [y|N]", false)) {
159+
} elseif ($requestFromConsole && $this->confirm(PHP_EOL.'Do you want to migrate database? [y|N]', false)) {
160160
$this->runMigration();
161161
}
162162
}
@@ -203,7 +203,7 @@ private function saveSchemaFile()
203203
$fileFields[] = [
204204
'name' => $field->name,
205205
'dbType' => $field->dbInput,
206-
'htmlType' => $field->htmlInput,
206+
'htmlType' => $field->htmlType,
207207
'validations' => $field->validations,
208208
'searchable' => $field->isSearchable,
209209
'fillable' => $field->isFillable,
@@ -228,7 +228,7 @@ private function saveSchemaFile()
228228
if (file_exists($path.$fileName) && !$this->confirmOverwrite($fileName)) {
229229
return;
230230
}
231-
g_filesystem()->createFile($path, $fileName, json_encode($fileFields, JSON_PRETTY_PRINT));
231+
g_filesystem()->createFile($path.$fileName, json_encode($fileFields, JSON_PRETTY_PRINT));
232232
$this->comment("\nSchema File saved: ");
233233
$this->info($fileName);
234234
}
@@ -253,7 +253,7 @@ private function saveLocaleFile()
253253
return;
254254
}
255255
$content = "<?php\n\nreturn ".var_export($locales, true).';'.PHP_EOL;
256-
FileUtil::createFile($path, $fileName, $content);
256+
g_filesystem()->createFile($path.$fileName, $content);
257257
$this->comment("\nModel Locale File saved: ");
258258
$this->info($fileName);
259259
}
@@ -421,7 +421,7 @@ private function parseFieldsFromJsonFile()
421421
exit;
422422
}
423423

424-
$fileContents = file_get_contents($filePath);
424+
$fileContents = g_filesystem()->getFile($filePath);
425425
$jsonData = json_decode($fileContents, true);
426426
$this->config->fields = [];
427427
foreach ($jsonData as $field) {

src/Commands/Common/MigrationGeneratorCommand.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public function handle()
3131
return;
3232
}
3333

34-
$migrationGenerator = new MigrationGenerator();
34+
/** @var MigrationGenerator $migrationGenerator */
35+
$migrationGenerator = app(MigrationGenerator::class);
3536
$migrationGenerator->generate();
3637

3738
$this->performPostActionsWithMigration();

src/Commands/Common/ModelGeneratorCommand.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ public function handle()
2525
{
2626
parent::handle();
2727

28-
$modelGenerator = new ModelGenerator();
28+
/** @var ModelGenerator $modelGenerator */
29+
$modelGenerator = app(ModelGenerator::class);
2930
$modelGenerator->generate();
3031

3132
$this->performPostActions();

src/Commands/Common/RepositoryGeneratorCommand.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ public function handle()
2525
{
2626
parent::handle();
2727

28-
$repositoryGenerator = new RepositoryGenerator();
28+
/** @var RepositoryGenerator $repositoryGenerator */
29+
$repositoryGenerator = app(RepositoryGenerator::class);
2930
$repositoryGenerator->generate();
3031

3132
$this->performPostActions();

src/Commands/Publish/GeneratorPublishCommand.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,14 @@ private function updateRouteServiceProvider()
5555
return;
5656
}
5757

58-
$fileContent = file_get_contents($routeServiceProviderPath);
58+
$fileContent = g_filesystem()->getFile($routeServiceProviderPath);
5959

6060
$search = "Route::middleware('api')".PHP_EOL.str(' ')->repeat(16)."->prefix('api')";
6161
$beforeContent = str($fileContent)->before($search);
6262
$afterContent = str($fileContent)->after($search);
6363

6464
$finalContent = $beforeContent.$search.PHP_EOL.str(' ')->repeat(16)."->as('api.')".$afterContent;
65-
file_put_contents($routeServiceProviderPath, $finalContent);
65+
g_filesystem()->createFile($routeServiceProviderPath, $finalContent);
6666
}
6767

6868
private function publishTestCases()
@@ -83,7 +83,7 @@ private function publishTestCases()
8383
return;
8484
}
8585

86-
g_filesystem()->createFile($testsPath, $fileName, $templateData);
86+
g_filesystem()->createFile($testsPath.$fileName, $templateData);
8787
$this->info('ApiTestTrait created');
8888

8989
$testAPIsPath = config('laravel_generator.path.api_test', base_path('tests/APIs/'));
@@ -113,7 +113,7 @@ private function publishBaseController()
113113
return;
114114
}
115115

116-
g_filesystem()->createFile($controllerPath, $fileName, $templateData);
116+
g_filesystem()->createFile($controllerPath.$fileName, $templateData);
117117

118118
$this->info('AppBaseController created');
119119
}
@@ -134,7 +134,7 @@ private function publishBaseRepository()
134134
return;
135135
}
136136

137-
g_filesystem()->createFile($repositoryPath, $fileName, $templateData);
137+
g_filesystem()->createFile($repositoryPath.$fileName, $templateData);
138138

139139
$this->info('BaseRepository created');
140140
}

src/Commands/Publish/PublishUserCommand.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,14 @@ private function updateRoutes()
6969
{
7070
$path = config('laravel_generator.path.routes', base_path('routes/web.php'));
7171

72-
$routeContents = file_get_contents($path);
72+
$routeContents = g_filesystem()->getFile($path);
7373

7474
$routesTemplate = get_template('routes.user', 'laravel-generator');
7575
$routesTemplate = $this->fillTemplate($routesTemplate);
7676

7777
$routeContents .= "\n\n".$routesTemplate;
7878

79-
file_put_contents($path, $routeContents);
79+
g_filesystem()->createFile($path, $routeContents);
8080
$this->comment("\nUser route added");
8181
}
8282

@@ -85,11 +85,11 @@ private function updateMenu()
8585
$viewsPath = config('laravel_generator.path.views', resource_path('views/'));
8686
$templateType = config('laravel_generator.templates', 'adminlte-templates');
8787
$path = $viewsPath.'layouts/menu.blade.php';
88-
$menuContents = file_get_contents($path);
89-
$sourceFile = file_get_contents(get_template_file_path('scaffold/users/menu', $templateType));
88+
$menuContents = g_filesystem()->getFile($path);
89+
$sourceFile = g_filesystem()->getFile(get_template_file_path('scaffold/users/menu', $templateType));
9090
$menuContents .= "\n".$sourceFile;
9191

92-
file_put_contents($path, $menuContents);
92+
g_filesystem()->createFile($path, $menuContents);
9393
$this->comment("\nUser Menu added");
9494
}
9595

@@ -111,7 +111,7 @@ private function publishUserController()
111111
return;
112112
}
113113

114-
g_filesystem()->createFile($controllerPath, $fileName, $templateData);
114+
g_filesystem()->createFile($controllerPath.$fileName, $templateData);
115115

116116
$this->info('UserController created');
117117
}
@@ -132,7 +132,7 @@ private function publishUserRepository()
132132
return;
133133
}
134134

135-
g_filesystem()->createFile($repositoryPath, $fileName, $templateData);
135+
g_filesystem()->createFile($repositoryPath.$fileName, $templateData);
136136

137137
$this->info('UserRepository created');
138138
}
@@ -153,7 +153,7 @@ private function publishCreateUserRequest()
153153
return;
154154
}
155155

156-
g_filesystem()->createFile($requestPath, $fileName, $templateData);
156+
g_filesystem()->createFile($requestPath.$fileName, $templateData);
157157

158158
$this->info('CreateUserRequest created');
159159
}
@@ -171,7 +171,7 @@ private function publishUpdateUserRequest()
171171
return;
172172
}
173173

174-
g_filesystem()->createFile($requestPath, $fileName, $templateData);
174+
g_filesystem()->createFile($requestPath.$fileName, $templateData);
175175

176176
$this->info('UpdateUserRequest created');
177177
}

src/Commands/RollbackGeneratorCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public function handle()
102102
$apiTestGenerator->rollback();
103103
}
104104

105-
if ($this->config->options->factory) {
105+
if ($this->config->options->factory or $this->config->addons->tests) {
106106
$factoryGenerator = app(FactoryGenerator::class);
107107
$factoryGenerator->rollback();
108108
}

0 commit comments

Comments
 (0)