From a86a9c4fe67cabea0a5fa77bd15ab1ccca3aa25d Mon Sep 17 00:00:00 2001 From: farid saravi Date: Thu, 4 Jul 2019 19:03:27 +0430 Subject: [PATCH] modify core modules --- app/CorePackages/Models/VAModel.php | 17 ++++++++ app/CorePackages/RelatedToUser.php | 23 ++++++++++ app/CorePackages/Resources/UserResource.php | 23 ++++++++++ .../Scopes/RelatedToVirtualActivity.php | 27 ++++++++++++ .../VirtualActivityServiceProvider.php | 43 +++++++++++++++---- public/mix-manifest.json | 8 ++-- 6 files changed, 128 insertions(+), 13 deletions(-) create mode 100644 app/CorePackages/Models/VAModel.php create mode 100644 app/CorePackages/RelatedToUser.php create mode 100644 app/CorePackages/Resources/UserResource.php create mode 100644 app/CorePackages/Scopes/RelatedToVirtualActivity.php diff --git a/app/CorePackages/Models/VAModel.php b/app/CorePackages/Models/VAModel.php new file mode 100644 index 0000000..14eff4c --- /dev/null +++ b/app/CorePackages/Models/VAModel.php @@ -0,0 +1,17 @@ +attributes); + } + +} diff --git a/app/CorePackages/RelatedToUser.php b/app/CorePackages/RelatedToUser.php new file mode 100644 index 0000000..30bc430 --- /dev/null +++ b/app/CorePackages/RelatedToUser.php @@ -0,0 +1,23 @@ +user_id = 116; + }); + } + +} diff --git a/app/CorePackages/Resources/UserResource.php b/app/CorePackages/Resources/UserResource.php new file mode 100644 index 0000000..2ed115c --- /dev/null +++ b/app/CorePackages/Resources/UserResource.php @@ -0,0 +1,23 @@ + $this->id, + 'name' => $this->name, + ]; + } +} diff --git a/app/CorePackages/Scopes/RelatedToVirtualActivity.php b/app/CorePackages/Scopes/RelatedToVirtualActivity.php new file mode 100644 index 0000000..c460c8b --- /dev/null +++ b/app/CorePackages/Scopes/RelatedToVirtualActivity.php @@ -0,0 +1,27 @@ +business_id = request()->business_id; + $model->user_id = 116; + }); + } + +} diff --git a/app/CorePackages/VirtualActivity/VirtualActivityServiceProvider.php b/app/CorePackages/VirtualActivity/VirtualActivityServiceProvider.php index 82e38e8..d42a284 100644 --- a/app/CorePackages/VirtualActivity/VirtualActivityServiceProvider.php +++ b/app/CorePackages/VirtualActivity/VirtualActivityServiceProvider.php @@ -3,29 +3,54 @@ namespace App\CorePackages\VirtualActivity; use Illuminate\Support\ServiceProvider; +use Illuminate\Support\Str; +use Illuminate\Support\Facades\Route; +use Illuminate\Support\Facades\Validator; + + use App\Business; class VirtualActivityServiceProvider extends ServiceProvider { - protected $defer = true; + public function boot() + { + Validator::extend('exists_va', function ($attribute, $value, $parameters, $validator) { + $table = $parameters[0]; + $column = $parameters[1]; + + return \DB::table($table) + ->where($column, $value) + ->where('business_id', request()->business_id) + ->count() > 0; + }); + } public function register() { + $this->app->singleton(Business::class, function () { return VirtualActivityFinder::fetch(); }); - } + $this->registerHandler(); + } - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() + protected function registerHandler() { - return [Business::class]; + + Route::macro('handler', function ($prefix) { + $singular = Str::singular($prefix); + Route::group([ + 'namespace' => $singular + ], function () use ($prefix, $singular) { + Route::get($prefix, 'Index' . $singular); + Route::post($prefix , 'Store' . $singular); + Route::put($prefix . '/{' . $singular . '}', 'Update' . $singular); + Route::delete($prefix . '/{' . $singular . '}', 'Destroy' . $singular); + Route::get($prefix . '/{' . $singular . '}', 'Show' . $singular); + }); + }); } } diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 7b388a7..5d97353 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,6 +1,6 @@ { - "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=e7004e4ba1268d86bc4e", - "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=54d9152bf6cded09d86f", - "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=255f49284ff8cae507dd", - "/js/vue/User/app.js": "/js/vue/User/app.js?id=d4901fd1d97d6496c6d1" + "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=2b702b11ffe61cfccef3", + "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=973cfa37e8a3d740dacb", + "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=1591546f008f77cc80bc", + "/js/vue/User/app.js": "/js/vue/User/app.js?id=4794661686082a978bc2" }