From e888b900247348c827575b11c14b9214dc8fe136 Mon Sep 17 00:00:00 2001 From: Nabeel Shahzad Date: Tue, 5 Dec 2017 20:30:13 -0600 Subject: [PATCH] add vacentral plugin scaffolding --- modules/.gitignore | 1 + .../Sample/Providers/EventServiceProvider.php | 2 +- modules/Sample/composer.json | 11 ++- modules/vacentral/Config/config.php | 5 ++ .../Database/seeders/SampleDatabaseSeeder.php | 21 +++++ .../Listeners/PirepAcceptedEventListener.php | 18 ++++ .../Providers/AppServiceProvider.php | 83 +++++++++++++++++++ .../Providers/EventServiceProvider.php | 25 ++++++ modules/vacentral/composer.json | 31 +++++++ modules/vacentral/module.json | 15 ++++ 10 files changed, 208 insertions(+), 4 deletions(-) create mode 100644 modules/vacentral/Config/config.php create mode 100644 modules/vacentral/Database/seeders/SampleDatabaseSeeder.php create mode 100644 modules/vacentral/Listeners/PirepAcceptedEventListener.php create mode 100644 modules/vacentral/Providers/AppServiceProvider.php create mode 100644 modules/vacentral/Providers/EventServiceProvider.php create mode 100644 modules/vacentral/composer.json create mode 100644 modules/vacentral/module.json diff --git a/modules/.gitignore b/modules/.gitignore index 7c1b36a5..72c3c59b 100644 --- a/modules/.gitignore +++ b/modules/.gitignore @@ -4,3 +4,4 @@ /*/ !.gitignore !/Sample/ +!/vacentral/ diff --git a/modules/Sample/Providers/EventServiceProvider.php b/modules/Sample/Providers/EventServiceProvider.php index 35b03a04..0a616fea 100644 --- a/modules/Sample/Providers/EventServiceProvider.php +++ b/modules/Sample/Providers/EventServiceProvider.php @@ -11,7 +11,7 @@ class EventServiceProvider extends ServiceProvider */ protected $listen = [ 'App\Events\TestEvent' => [ - 'Modules\Sample\Listeners\TestEventListener', + 'Modules\Sample\Listeners\PirepAcceptedEventListener', ], ]; diff --git a/modules/Sample/composer.json b/modules/Sample/composer.json index 1aaf7abc..9b016e64 100644 --- a/modules/Sample/composer.json +++ b/modules/Sample/composer.json @@ -1,12 +1,17 @@ { - "name": "/sample", + "name": "nabeel/sample", + "type": "laravel-module", + "license": "MIT", "description": "", "authors": [ { - "name": "", - "email": "" + "name": "Nabeel Shahzad", + "email": "gm@nabs.io" } ], + "require": { + "joshbrw/laravel-module-installer": "dev-master" + }, "extra": { "laravel": { "providers": [ diff --git a/modules/vacentral/Config/config.php b/modules/vacentral/Config/config.php new file mode 100644 index 00000000..b0e617d3 --- /dev/null +++ b/modules/vacentral/Config/config.php @@ -0,0 +1,5 @@ + 'vacentral' +]; diff --git a/modules/vacentral/Database/seeders/SampleDatabaseSeeder.php b/modules/vacentral/Database/seeders/SampleDatabaseSeeder.php new file mode 100644 index 00000000..dad32f12 --- /dev/null +++ b/modules/vacentral/Database/seeders/SampleDatabaseSeeder.php @@ -0,0 +1,21 @@ +call("OthersTableSeeder"); + } +} diff --git a/modules/vacentral/Listeners/PirepAcceptedEventListener.php b/modules/vacentral/Listeners/PirepAcceptedEventListener.php new file mode 100644 index 00000000..e8971f63 --- /dev/null +++ b/modules/vacentral/Listeners/PirepAcceptedEventListener.php @@ -0,0 +1,18 @@ +moduleSvc = app('App\Services\ModuleService'); + + $this->registerTranslations(); + $this->registerConfig(); + + $this->registerFactories(); + $this->loadMigrationsFrom(__DIR__ . '/../Database/migrations'); + } + + /** + * Register the service provider. + */ + public function register() + { + // + } + + /** + * Register config. + */ + protected function registerConfig() + { + $this->publishes([ + __DIR__.'/../Config/config.php' => config_path('sample.php'), + ], 'config'); + + $this->mergeConfigFrom( + __DIR__.'/../Config/config.php', 'sample' + ); + } + + /** + * Register translations. + */ + public function registerTranslations() + { + $langPath = resource_path('lang/modules/sample'); + + if (is_dir($langPath)) { + $this->loadTranslationsFrom($langPath, 'sample'); + } else { + $this->loadTranslationsFrom(__DIR__ .'/../Resources/lang', 'sample'); + } + } + + /** + * Register an additional directory of factories. + * @source https://github.com/sebastiaanluca/laravel-resource-flow/blob/develop/src/Modules/ModuleServiceProvider.php#L66 + */ + public function registerFactories() + { + if (! app()->environment('production')) { + app(Factory::class)->load(__DIR__ . '/../Database/factories'); + } + } + + /** + * Get the services provided by the provider. + */ + public function provides() + { + return []; + } +} diff --git a/modules/vacentral/Providers/EventServiceProvider.php b/modules/vacentral/Providers/EventServiceProvider.php new file mode 100644 index 00000000..2714d18c --- /dev/null +++ b/modules/vacentral/Providers/EventServiceProvider.php @@ -0,0 +1,25 @@ + [PirepAcceptedEventListener::class], + ]; + + /** + * Register any events for your application. + */ + public function boot() + { + parent::boot(); + } +} diff --git a/modules/vacentral/composer.json b/modules/vacentral/composer.json new file mode 100644 index 00000000..0f925654 --- /dev/null +++ b/modules/vacentral/composer.json @@ -0,0 +1,31 @@ +{ + "name": "nabeel/vacentral", + "license": "MIT", + "type": "laravel-module", + "description": "", + "authors": [ + { + "name": "Nabeel Shahzad", + "email": "gm@nabs.io" + } + ], + "require": { + "joshbrw/laravel-module-installer": "dev-master" + }, + "extra": { + "laravel": { + "providers": [ + "Modules\\Vacentral\\Providers\\AppServiceProvider", + "Modules\\Vacentral\\Providers\\EventServiceProvider" + ], + "aliases": { + + } + } + }, + "autoload": { + "psr-4": { + "Modules\\vacentral\\": "" + } + } +} diff --git a/modules/vacentral/module.json b/modules/vacentral/module.json new file mode 100644 index 00000000..10768dfd --- /dev/null +++ b/modules/vacentral/module.json @@ -0,0 +1,15 @@ +{ + "name": "phpvms/vacentral", + "alias": "vacentral", + "description": "", + "keywords": [], + "active": 1, + "order": 0, + "providers": [ + "Modules\\Vacentral\\Providers\\AppServiceProvider", + "Modules\\Vacentral\\Providers\\EventServiceProvider" + ], + "aliases": {}, + "files": [], + "requires": [] +}