2
2
3
3
namespace InfyOm \Generator \Commands \Publish ;
4
4
5
+ use Illuminate \Support \Str ;
5
6
use InfyOm \Generator \Utils \FileUtil ;
6
7
use Symfony \Component \Console \Input \InputOption ;
7
8
@@ -28,6 +29,7 @@ class GeneratorPublishCommand extends PublishBaseCommand
28
29
*/
29
30
public function handle ()
30
31
{
32
+ $ this ->updateRouteServiceProvider ();
31
33
$ this ->publishTestCases ();
32
34
$ this ->publishBaseController ();
33
35
$ repositoryPattern = config ('infyom.laravel_generator.options.repository_pattern ' , true );
@@ -60,6 +62,27 @@ private function fillTemplate($templateData)
60
62
return $ templateData ;
61
63
}
62
64
65
+ private function updateRouteServiceProvider ()
66
+ {
67
+ $ routeServiceProviderPath = app_path ('Providers ' .DIRECTORY_SEPARATOR ."RouteServiceProvider.php " );
68
+
69
+ if (!file_exists ($ routeServiceProviderPath )) {
70
+ $ this ->error ("Route Service provider not found on $ routeServiceProviderPath " );
71
+ return 1 ;
72
+ }
73
+
74
+ $ fileContent = file_get_contents ($ routeServiceProviderPath );
75
+
76
+ $ search = "Route::prefix('api') " .PHP_EOL .str (" " )->repeat (16 )."->middleware('api') " ;
77
+ $ beforeContent = str ($ fileContent )->before ($ search );
78
+ $ afterContent = str ($ fileContent )->after ($ search );
79
+
80
+ $ finalContent = $ beforeContent .$ search .PHP_EOL .str (" " )->repeat (16 )."->as('api.') " .$ afterContent ;
81
+ file_put_contents ($ routeServiceProviderPath , $ finalContent );
82
+
83
+ return 0 ;
84
+ }
85
+
63
86
private function publishTestCases ()
64
87
{
65
88
$ testsPath = config ('infyom.laravel_generator.path.tests ' , base_path ('tests/ ' ));
0 commit comments