mirror of
https://github.com/ZorgCC/lumen-generators.git
synced 2025-01-13 22:07:55 +03:00
Merge pull request #40 from josiahdahl/laravel-routes
Enable Creating Laravel Style Routes
This commit is contained in:
commit
73e470ec15
1
.gitignore
vendored
1
.gitignore
vendored
@ -7,4 +7,5 @@ tests/_output/*
|
|||||||
lumen-test/app
|
lumen-test/app
|
||||||
lumen-test/database
|
lumen-test/database
|
||||||
lumen-test/tests/tmp
|
lumen-test/tests/tmp
|
||||||
|
|
||||||
.idea
|
.idea
|
||||||
|
24
README.md
24
README.md
@ -509,7 +509,9 @@ The second command is `wn:controller` which actually generates the controller. T
|
|||||||
|
|
||||||
- **--no-routes**: Since routes are generated by default for the controller, this option is used to tell the generator "do not generate routes !".
|
- **--no-routes**: Since routes are generated by default for the controller, this option is used to tell the generator "do not generate routes !".
|
||||||
|
|
||||||
- **--force**: tells the generator to override the existing file.
|
- **--force**: tells the generator to override the existing file.
|
||||||
|
|
||||||
|
- **--laravel**: create Laravel style routes
|
||||||
|
|
||||||
`php artisan wn:controller Task --no-routes` gives:
|
`php artisan wn:controller Task --no-routes` gives:
|
||||||
|
|
||||||
@ -539,6 +541,9 @@ The `wn:route` command is used to generate RESTfull routes for a controller. It
|
|||||||
|
|
||||||
- **--force**: tells the generator to override the existing file.
|
- **--force**: tells the generator to override the existing file.
|
||||||
|
|
||||||
|
- **--laravel**: create Laravel style routes
|
||||||
|
|
||||||
|
|
||||||
`php artisan wn:route project-type` adds the following routes:
|
`php artisan wn:route project-type` adds the following routes:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
@ -549,6 +554,17 @@ $app->put('project-type/{id}', 'ProjectTypesController@put');
|
|||||||
$app->delete('project-type/{id}', 'ProjectTypesController@remove');
|
$app->delete('project-type/{id}', 'ProjectTypesController@remove');
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
`php artisan wn:route project-type --laravel` adds the following routes:
|
||||||
|
|
||||||
|
```php
|
||||||
|
Route::get('project-type', 'ProjectTypesController@all');
|
||||||
|
Route::get('project-type/{id}', 'ProjectTypesController@get');
|
||||||
|
Route::post('project-type', 'ProjectTypesController@add');
|
||||||
|
Route::put('project-type/{id}', 'ProjectTypesController@put');
|
||||||
|
Route::delete('project-type/{id}', 'ProjectTypesController@remove');
|
||||||
|
```
|
||||||
|
|
||||||
### Resource Generator
|
### Resource Generator
|
||||||
|
|
||||||
The `wn:resource` command makes it very easy to generate a RESTful resource. It generates a model, migration, controller and routes. The syntax is : `wn:resource name fields [--add=...] [--has-many=...] [--has-one=...] [--belongs-to=...] [--migration-file=...] [--path=...] [--force=true]`
|
The `wn:resource` command makes it very easy to generate a RESTful resource. It generates a model, migration, controller and routes. The syntax is : `wn:resource name fields [--add=...] [--has-many=...] [--has-one=...] [--belongs-to=...] [--migration-file=...] [--path=...] [--force=true]`
|
||||||
@ -581,6 +597,9 @@ The `wn:resource` command makes it very easy to generate a RESTful resource. It
|
|||||||
|
|
||||||
- **--force**: tells the generator to override the existing file.
|
- **--force**: tells the generator to override the existing file.
|
||||||
|
|
||||||
|
- **--laravel**: create Laravel style routes
|
||||||
|
|
||||||
|
|
||||||
### Multiple Resources From File
|
### Multiple Resources From File
|
||||||
|
|
||||||
The `wn:resources` (note the "s" in "resources") command takes the generation process to an other level by parsing a file and generating multiple resources based on it. The syntax is
|
The `wn:resources` (note the "s" in "resources") command takes the generation process to an other level by parsing a file and generating multiple resources based on it. The syntax is
|
||||||
@ -595,6 +614,9 @@ The file given to the command should be a valid YAML file ( for the moment, supp
|
|||||||
|
|
||||||
- **--path**: Defines where to store the model files as well as their namespace.
|
- **--path**: Defines where to store the model files as well as their namespace.
|
||||||
|
|
||||||
|
- **--laravel**: create Laravel style routes
|
||||||
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
---
|
---
|
||||||
Store:
|
Store:
|
||||||
|
3
lumen-test/.gitignore
vendored
3
lumen-test/.gitignore
vendored
@ -6,3 +6,6 @@ tests/_output/*
|
|||||||
|
|
||||||
composer.lock
|
composer.lock
|
||||||
tests/_output/*
|
tests/_output/*
|
||||||
|
|
||||||
|
codecept.phar
|
||||||
|
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Routes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here is where you can register all of the routes for an application.
|
||||||
|
| It is a breeze. Simply tell Lumen the URIs it should respond to
|
||||||
|
| and give it the Closure to call when that URI is requested.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
$app->get("/", function () use ($app) {
|
$app->get("/", function () use ($app) {
|
||||||
return $app->welcome();
|
return $app->welcome();
|
||||||
});
|
});
|
||||||
|
@ -11,6 +11,14 @@ echo "<?php
|
|||||||
return \$app->welcome();
|
return \$app->welcome();
|
||||||
});" > app/Http/routes.php
|
});" > app/Http/routes.php
|
||||||
|
|
||||||
|
echo "<?php
|
||||||
|
/*
|
||||||
|
|------------------------------------------
|
||||||
|
| ***** DUMMY ROUTES FOR TESTING ONLY *****
|
||||||
|
|------------------------------------------
|
||||||
|
*/
|
||||||
|
" > routes/api.php
|
||||||
|
|
||||||
# Controllers
|
# Controllers
|
||||||
rm app/Http/Controllers/*.php 2> /dev/null
|
rm app/Http/Controllers/*.php 2> /dev/null
|
||||||
echo "<?php
|
echo "<?php
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Model Factories
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may define all of your model factories. Model factories give
|
||||||
|
| you a convenient way to create models for testing and seeding your
|
||||||
|
| database. Just tell the factory how a default model should look.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
$factory->define(App\User::class, function ($faker) {
|
$factory->define(App\User::class, function ($faker) {
|
||||||
return [
|
return [
|
||||||
'name' => $faker->name,
|
'name' => $faker->name,
|
||||||
@ -8,4 +19,3 @@ $factory->define(App\User::class, function ($faker) {
|
|||||||
'remember_token' => str_random(10),
|
'remember_token' => str_random(10),
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
124
lumen-test/tests/acceptance/ResourcesWithLaravelRoutesCept.php
Normal file
124
lumen-test/tests/acceptance/ResourcesWithLaravelRoutesCept.php
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
<?php
|
||||||
|
$I = new AcceptanceTester($scenario);
|
||||||
|
|
||||||
|
$I->wantTo('Generate RESTful resources from a file with Laravel Routes');
|
||||||
|
$I->writeToFile('database/database.sqlite', '');
|
||||||
|
$I->runShellCommand('php artisan wn:resources tests/_data/ResourcesTest.yml --laravel=true');
|
||||||
|
|
||||||
|
// Checking the model
|
||||||
|
$I->seeInShellOutput('Author model generated');
|
||||||
|
$I->seeInShellOutput('Book model generated');
|
||||||
|
$I->seeInShellOutput('Library model generated');
|
||||||
|
$I->seeFileFound('./app/Author.php');
|
||||||
|
$I->seeFileFound('./app/Book.php');
|
||||||
|
$I->seeFileFound('./app/Library.php');
|
||||||
|
$I->deleteFile('./app/Author.php');
|
||||||
|
$I->deleteFile('./app/Book.php');
|
||||||
|
$I->deleteFile('./app/Library.php');
|
||||||
|
|
||||||
|
// Checking the migration
|
||||||
|
$I->seeInShellOutput('authors migration generated');
|
||||||
|
$I->seeInShellOutput('books migration generated');
|
||||||
|
$I->seeInShellOutput('libraries migration generated');
|
||||||
|
// Can't check for specific file names, so we'll just strip the directory
|
||||||
|
$I->cleanDir('database/migrations');
|
||||||
|
$I->writeToFile('database/migrations/.gitkeep', '');
|
||||||
|
|
||||||
|
// Checking the RESTActions trait
|
||||||
|
$I->seeFileFound('./app/Http/Controllers/RESTActions.php');
|
||||||
|
$I->deleteFile('./app/Http/Controllers/RESTActions.php');
|
||||||
|
|
||||||
|
// Checking the controller
|
||||||
|
$I->seeInShellOutput('AuthorsController generated');
|
||||||
|
$I->seeInShellOutput('LibrariesController generated');
|
||||||
|
$I->seeInShellOutput('BooksController generated');
|
||||||
|
$I->seeFileFound('./app/Http/Controllers/AuthorsController.php');
|
||||||
|
$I->seeFileFound('./app/Http/Controllers/LibrariesController.php');
|
||||||
|
$I->seeFileFound('./app/Http/Controllers/BooksController.php');
|
||||||
|
|
||||||
|
$I->deleteFile('./app/Http/Controllers/AuthorsController.php');
|
||||||
|
$I->deleteFile('./app/Http/Controllers/LibrariesController.php');
|
||||||
|
$I->deleteFile('./app/Http/Controllers/BooksController.php');
|
||||||
|
|
||||||
|
$I->seeFileFound('./routes/api.php');
|
||||||
|
|
||||||
|
$I->seeInThisFile('
|
||||||
|
Route::get(\'author\', \'AuthorsController@all\');
|
||||||
|
Route::get(\'author/{id}\', \'AuthorsController@get\');
|
||||||
|
Route::post(\'author\', \'AuthorsController@add\');
|
||||||
|
Route::put(\'author/{id}\', \'AuthorsController@put\');
|
||||||
|
Route::delete(\'author/{id}\', \'AuthorsController@remove\');');
|
||||||
|
|
||||||
|
$I->seeInThisFile('
|
||||||
|
Route::get(\'book\', \'BooksController@all\');
|
||||||
|
Route::get(\'book/{id}\', \'BooksController@get\');
|
||||||
|
Route::post(\'book\', \'BooksController@add\');
|
||||||
|
Route::put(\'book/{id}\', \'BooksController@put\');
|
||||||
|
Route::delete(\'book/{id}\', \'BooksController@remove\');');
|
||||||
|
|
||||||
|
$I->seeInThisFile('
|
||||||
|
Route::get(\'library\', \'LibrariesController@all\');
|
||||||
|
Route::get(\'library/{id}\', \'LibrariesController@get\');
|
||||||
|
Route::post(\'library\', \'LibrariesController@add\');
|
||||||
|
Route::put(\'library/{id}\', \'LibrariesController@put\');
|
||||||
|
Route::delete(\'library/{id}\', \'LibrariesController@remove\');');
|
||||||
|
$I->writeToFile('./app/Http/routes.php', '<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
|------------------------------------------
|
||||||
|
| ***** DUMMY ROUTES FOR TESTING ONLY *****
|
||||||
|
|------------------------------------------
|
||||||
|
*/
|
||||||
|
');
|
||||||
|
|
||||||
|
// Checking model factory
|
||||||
|
// $I->openFile('./database/factories/ModelFactory.php');
|
||||||
|
// $I->seeInThisFile(
|
||||||
|
// "/**
|
||||||
|
// * Factory definition for model App\TaskCategory.
|
||||||
|
// */
|
||||||
|
// \$factory->define(App\TaskCategory::class, function (\$faker) {
|
||||||
|
// return [
|
||||||
|
// 'name' => \$faker->word,
|
||||||
|
// 'descr' => \$faker->paragraph,
|
||||||
|
// 'due' => \$faker->date,
|
||||||
|
// ];
|
||||||
|
// });");
|
||||||
|
$I->writeToFile('./database/factories/ModelFactory.php', "<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Model Factories
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may define all of your model factories. Model factories give
|
||||||
|
| you a convenient way to create models for testing and seeding your
|
||||||
|
| database. Just tell the factory how a default model should look.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
\$factory->define(App\User::class, function (\$faker) {
|
||||||
|
return [
|
||||||
|
'name' => \$faker->name,
|
||||||
|
'email' => \$faker->email,
|
||||||
|
'password' => str_random(10),
|
||||||
|
'remember_token' => str_random(10),
|
||||||
|
];
|
||||||
|
});
|
||||||
|
");
|
||||||
|
|
||||||
|
$I->deleteFile('database/database.sqlite');
|
||||||
|
|
||||||
|
// Checking database seeder
|
||||||
|
// $I->openFile('./database/seeds/TaskCategoriesTableSeeder.php');
|
||||||
|
// $I->seeInThisFile('
|
||||||
|
// use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
// class TaskCategoriesTableSeeder extends Seeder
|
||||||
|
// {
|
||||||
|
// public function run()
|
||||||
|
// {
|
||||||
|
// factory(App\TaskCategory::class, 10)->create();
|
||||||
|
// }
|
||||||
|
// }');
|
||||||
|
// $I->deleteFile('./database/seeds/TaskCategoriesTableSeeder.php');
|
@ -62,7 +62,9 @@ $app->get("/", function () use ($app) {
|
|||||||
|
|
||||||
|
|
||||||
$I->wantTo('run wn:routes in Lumen 5.3+');
|
$I->wantTo('run wn:routes in Lumen 5.3+');
|
||||||
mkdir('./routes');
|
if(!file_exists('./routes')) {
|
||||||
|
mkdir('./routes');
|
||||||
|
}
|
||||||
$I->writeToFile('./routes/web.php', '<?php
|
$I->writeToFile('./routes/web.php', '<?php
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
<?php namespace Wn\Generators\Commands;
|
<?php namespace Wn\Generators\Commands;
|
||||||
|
|
||||||
|
|
||||||
|
use InvalidArgumentException;
|
||||||
|
|
||||||
class ControllerCommand extends BaseCommand {
|
class ControllerCommand extends BaseCommand {
|
||||||
|
|
||||||
protected $signature = 'wn:controller
|
protected $signature = 'wn:controller
|
||||||
{model : Name of the model (with namespace if not App)}
|
{model : Name of the model (with namespace if not App)}
|
||||||
{--no-routes= : without routes}
|
{--no-routes= : without routes}
|
||||||
{--force= : override the existing files}
|
{--force= : override the existing files}
|
||||||
|
{--laravel : Use Laravel style route definitions}
|
||||||
';
|
';
|
||||||
|
|
||||||
protected $description = 'Generates RESTful controller using the RESTActions trait';
|
protected $description = 'Generates RESTful controller using the RESTActions trait';
|
||||||
@ -31,12 +34,17 @@ class ControllerCommand extends BaseCommand {
|
|||||||
->get();
|
->get();
|
||||||
|
|
||||||
$this->save($content, "./app/Http/Controllers/{$controller}.php", "{$controller}");
|
$this->save($content, "./app/Http/Controllers/{$controller}.php", "{$controller}");
|
||||||
|
|
||||||
if(! $this->option('no-routes')){
|
if(! $this->option('no-routes')){
|
||||||
$this->call('wn:route', [
|
$options = [
|
||||||
'resource' => snake_case($name, '-'),
|
'resource' => snake_case($name, '-'),
|
||||||
'--controller' => $controller
|
'--controller' => $controller,
|
||||||
]);
|
];
|
||||||
|
|
||||||
|
if ($this->option('laravel')) {
|
||||||
|
$options['--laravel'] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->call('wn:route', $options);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
<?php namespace Wn\Generators\Commands;
|
<?php namespace Wn\Generators\Commands;
|
||||||
|
|
||||||
|
|
||||||
|
use InvalidArgumentException;
|
||||||
|
|
||||||
class ResourceCommand extends BaseCommand {
|
class ResourceCommand extends BaseCommand {
|
||||||
|
|
||||||
protected $signature = 'wn:resource
|
protected $signature = 'wn:resource
|
||||||
@ -15,6 +17,7 @@ class ResourceCommand extends BaseCommand {
|
|||||||
{--path=app : where to store the model file.}
|
{--path=app : where to store the model file.}
|
||||||
{--parsed : tells the command that arguments have been already parsed. To use when calling the command from an other command and passing the parsed arguments and options}
|
{--parsed : tells the command that arguments have been already parsed. To use when calling the command from an other command and passing the parsed arguments and options}
|
||||||
{--force= : override the existing files}
|
{--force= : override the existing files}
|
||||||
|
{--laravel= : Use Laravel style route definitions}
|
||||||
';
|
';
|
||||||
|
|
||||||
protected $description = 'Generates a model, migration, controller and routes for RESTful resource';
|
protected $description = 'Generates a model, migration, controller and routes for RESTful resource';
|
||||||
@ -61,13 +64,16 @@ class ResourceCommand extends BaseCommand {
|
|||||||
if(! $this->fs->exists('./app/Http/Controllers/RESTActions.php')){
|
if(! $this->fs->exists('./app/Http/Controllers/RESTActions.php')){
|
||||||
$this->call('wn:controller:rest-actions');
|
$this->call('wn:controller:rest-actions');
|
||||||
}
|
}
|
||||||
|
|
||||||
// generating the controller and routes
|
// generating the controller and routes
|
||||||
$this->call('wn:controller', [
|
$controllerOptions = [
|
||||||
'model' => $modelName,
|
'model' => $modelName,
|
||||||
'--force' => $this->option('force'),
|
'--force' => $this->option('force'),
|
||||||
'--no-routes' => false
|
'--no-routes' => false,
|
||||||
]);
|
];
|
||||||
|
if ($this->option('laravel')) {
|
||||||
|
$controllerOptions['--laravel'] = true;
|
||||||
|
}
|
||||||
|
$this->call('wn:controller', $controllerOptions);
|
||||||
|
|
||||||
// generating model factory
|
// generating model factory
|
||||||
$this->call('wn:factory', [
|
$this->call('wn:factory', [
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<?php namespace Wn\Generators\Commands;
|
<?php namespace Wn\Generators\Commands;
|
||||||
|
|
||||||
|
use InvalidArgumentException;
|
||||||
use Symfony\Component\Yaml\Yaml;
|
use Symfony\Component\Yaml\Yaml;
|
||||||
|
|
||||||
|
|
||||||
@ -9,6 +10,8 @@ class ResourcesCommand extends BaseCommand {
|
|||||||
{file : Path to the file containing resources declarations}
|
{file : Path to the file containing resources declarations}
|
||||||
{--path=app : where to store the model files.}
|
{--path=app : where to store the model files.}
|
||||||
{--force= : override the existing files}
|
{--force= : override the existing files}
|
||||||
|
{--laravel= : Use Laravel style route definitions}
|
||||||
|
|
||||||
';
|
';
|
||||||
|
|
||||||
protected $description = 'Generates multiple resources from a file';
|
protected $description = 'Generates multiple resources from a file';
|
||||||
@ -27,7 +30,7 @@ class ResourcesCommand extends BaseCommand {
|
|||||||
$migrationFile = date('Y_m_d_His') . '-' . str_pad($modelIndex , 3, 0, STR_PAD_LEFT) . '_' . snake_case($migrationName) . '_table';
|
$migrationFile = date('Y_m_d_His') . '-' . str_pad($modelIndex , 3, 0, STR_PAD_LEFT) . '_' . snake_case($migrationName) . '_table';
|
||||||
|
|
||||||
|
|
||||||
$this->call('wn:resource', [
|
$options = [
|
||||||
'name' => $i['name'],
|
'name' => $i['name'],
|
||||||
'fields' => $i['fields'],
|
'fields' => $i['fields'],
|
||||||
'--add' => $i['add'],
|
'--add' => $i['add'],
|
||||||
@ -38,7 +41,12 @@ class ResourcesCommand extends BaseCommand {
|
|||||||
'--path' => $this->option('path'),
|
'--path' => $this->option('path'),
|
||||||
'--force' => $this->option('force'),
|
'--force' => $this->option('force'),
|
||||||
'--migration-file' => $migrationFile
|
'--migration-file' => $migrationFile
|
||||||
]);
|
];
|
||||||
|
if ($this->option('laravel')) {
|
||||||
|
$options['--laravel'] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->call('wn:resource', $options);
|
||||||
$modelIndex++;
|
$modelIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,31 +1,66 @@
|
|||||||
<?php namespace Wn\Generators\Commands;
|
<?php namespace Wn\Generators\Commands;
|
||||||
|
|
||||||
|
|
||||||
|
use InvalidArgumentException;
|
||||||
|
|
||||||
class RouteCommand extends BaseCommand {
|
class RouteCommand extends BaseCommand {
|
||||||
|
|
||||||
protected $signature = 'wn:route
|
protected $signature = 'wn:route
|
||||||
{resource : Name of the resource.}
|
{resource : Name of the resource.}
|
||||||
{--controller= : Name of the RESTful controller.}';
|
{--controller= : Name of the RESTful controller.}
|
||||||
|
{--laravel= : Use Laravel style route definitions}
|
||||||
|
';
|
||||||
|
|
||||||
protected $description = 'Generates RESTful routes.';
|
protected $description = 'Generates RESTful routes.';
|
||||||
|
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
$resource = $this->argument('resource');
|
$resource = $this->argument('resource');
|
||||||
|
$laravelRoutes = $this->option('laravel');
|
||||||
|
$templateFile = 'routes';
|
||||||
|
$routesPath = 'routes/web.php';
|
||||||
|
if ($laravelRoutes) {
|
||||||
|
$templateFile = 'routes-laravel';
|
||||||
|
$routesPath = 'routes/api.php';
|
||||||
|
if (!$this->fs->isFile($routesPath)) {
|
||||||
|
if (!$this->fs->isDirectory('./routes')) {
|
||||||
|
$this->fs->makeDirectory('./routes');
|
||||||
|
}
|
||||||
|
$this->fs->put($routesPath, "
|
||||||
|
<?php
|
||||||
|
|
||||||
$routesPath = './routes/web.php';
|
use Illuminate\Http\Request;
|
||||||
if (! $this->fs->exists($routesPath))
|
|
||||||
$routesPath = './app/Http/routes.php';
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| API Routes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here is where you can register API routes for your application. These
|
||||||
|
| routes are loaded by the RouteServiceProvider within a group which
|
||||||
|
| is assigned the \"api\" middleware group. Enjoy building your API!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
Route::middleware('auth:api')->get('/user', function (Request \$request) {
|
||||||
|
return \$request->user();
|
||||||
|
});
|
||||||
|
|
||||||
|
");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$this->fs->isFile($routesPath)) {
|
||||||
|
$routesPath = 'app/Http/routes.php';
|
||||||
|
}
|
||||||
$content = $this->fs->get($routesPath);
|
$content = $this->fs->get($routesPath);
|
||||||
|
|
||||||
$content .= PHP_EOL . $this->getTemplate('routes')
|
$content .= PHP_EOL . $this->getTemplate($templateFile)
|
||||||
->with([
|
->with([
|
||||||
'resource' => $resource,
|
'resource' => $resource,
|
||||||
'controller' => $this->getController()
|
'controller' => $this->getController()
|
||||||
])
|
])
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$this->save($content, $routesPath, "{$resource} routes", true);
|
$this->save($content, $routesPath, "{$resource} routes", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
8
templates/routes-laravel.wnt
Normal file
8
templates/routes-laravel.wnt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/**
|
||||||
|
* Routes for resource {{resource}}
|
||||||
|
*/
|
||||||
|
Route::get('{{resource}}', '{{controller}}@all');
|
||||||
|
Route::get('{{resource}}/{id}', '{{controller}}@get');
|
||||||
|
Route::post('{{resource}}', '{{controller}}@add');
|
||||||
|
Route::put('{{resource}}/{id}', '{{controller}}@put');
|
||||||
|
Route::delete('{{resource}}/{id}', '{{controller}}@remove');
|
Loading…
x
Reference in New Issue
Block a user