biliboobrian / lumen-angular-code-generator
Model, controller, provider and service generator for Lumen 5+ and Angular 6+ from DB schema
Requires
- biliboobrian/microservice-crud: ^3.0
- doctrine/dbal: ^2.5
- laravel/lumen-framework: 5.* || 6.* || 7.* || 8.*
This package is auto-updated.
Last update: 2024-10-29 05:16:36 UTC
README
!! WORK IN PROGRESS > ANGULAR GENERATOR !!
Model, controller provider and service generator for lumen 5+ and angular 6+ from DB schema.
Installation
Use composer to install it in your lumen project.
composer require biliboobrian/lumen-angular-code-generator
Modify your bootstrap/app.php providers to add generators to Artisan.
$app->register(biliboobrian\lumenAngularCodeGenerator\Provider\GeneratorServiceProvider::class);
Usage
Scaffolding from DB
You need a database connection setup in your project.
Build CRUD models and controllers with various commands (List of available commands will be updated with development progress):
bilibo:lumen:ctrl Generate CRUD controller for a table name. bilibo:lumen:ctrls Generate CRUD controllers for all tables. bilibo:lumen:model Generate Eloquent model according to table passed in argument. bilibo:lumen:models Generate Eloquent models for all tables.
Default configuration is the following ( you can override them with -c option in command line to provide another config.php file):
'lumen_model_namespace' => 'App\Models', 'lumen_ctrl_namespace' => 'App\Http\Controllers', 'base_class_lumen_model_name' => \biliboobrian\lumenAngularCodeGenerator\Model\MicroServiceExtendModel::class, 'base_class_lumen_ctrl_name' => \biliboobrian\lumenAngularCodeGenerator\Controller\CrudExtendController::class, 'lumen_model_output_path' => app_path() . '/Models', 'lumen_ctrl_output_path' => app_path() . '/Http/Controllers', 'no_timestamps' => null, 'date_format' => null, 'connection' => null, 'add_route' => null, 'add_cache' => null,
Use command help for more infos
$ php artisan bilibo:lumen:ctrl -h
Generation of controllers and models extend lushdigital/microservice-crud.
Usage of Generated Controllers and models
By default all controllers provide a set of applicable routes what you can add to your routes/web.php:
//for full tables retrieve $router->get( '/model', 'ModelController@index'); //for paginated tables retrieve $router->get( '/model', 'ModelController@get'); $router->get( '/model/{id}/{relation}', 'ModelController@getRelationList'); $router->get( '/model/{id}', 'ModelController@show'); $router->post( '/model', 'ModelController@store'); $router->put( '/model/{id}', 'ModelController@update'); $router->delete('/model/{id}', 'ModelController@destroy');
You can add all routes to your web.php using -a option in the bilibo:lumen:ctrls command.