modify core modules

pull/1/head
farid saravi 5 years ago
parent 04c1bbb7ea
commit a86a9c4fe6

@ -0,0 +1,17 @@
<?php
namespace App\CorePackages\Models;
use Illuminate\Database\Eloquent\Model;
use App\CorePackages\Scopes\RelatedToVirtualActivity;
abstract class VAModel extends Model
{
use RelatedToVirtualActivity;
public function attributeExists($attr)
{
return array_key_exists($attr, $this->attributes);
}
}

@ -0,0 +1,23 @@
<?php
namespace App\CorePackages;
trait RelatedToUser
{
/**
* The "booting" method of the model.
*
* @return void
*/
protected static function boot()
{
parent::boot();
static::creating(function($model) {
$model->user_id = 116;
});
}
}

@ -0,0 +1,23 @@
<?php
namespace App\CorePackages\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class UserResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
];
}
}

@ -0,0 +1,27 @@
<?php
namespace App\CorePackages\Scopes;
use App\CorePackages\Scopes\VirtualActivityScope;
trait RelatedToVirtualActivity
{
/**
* The "booting" method of the model.
*
* @return void
*/
protected static function boot()
{
parent::boot();
static::addGlobalScope(new VirtualActivityScope);
static::creating(function($model) {
$model->business_id = request()->business_id;
$model->user_id = 116;
});
}
}

@ -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);
});
});
}
}

@ -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"
}

Loading…
Cancel
Save