dillingham / formation

Laravel search, sort, and filters
MIT License
0 stars 0 forks source link

Guess resource assets #36

Closed dillingham closed 2 years ago

dillingham commented 2 years ago
 /*
   |--------------------------------------------------------------------------
   | Guess Resource Assets
   |--------------------------------------------------------------------------
   | When you route a formation you can override things like controllers.
   | This setting allows overriding by following Laravel conventions.
   | Simply create a UserController and UserFormation will know.
   |
   */
    'guess' => true,
if!config('formations.guess')) {
    return;
}
if($this->model == null &&  class_exists('App\Models\' . str_replace(class_basename($this), 'Formation', '')) {
    $this->model = 'App\Models\' . str_replace(class_basename($this), 'Formation', '');
} else if($this->model === null) {
    abort(500, 'Missing model on formation: ' . class_basename($this));
}

if($this->controller == ResourceController::class &&  class_exists('App\Http\Controllers\\' . class_basename($this->model)) . 'Controller') {
    $this->controller = 'App\Http\Controllers\\' . class_basename($this->model)) . 'Controller';
}

if($this->create == CreateRequest::class &&  class_exists('App\Http\Requests\Create' . class_basename($this->model)) . 'Request') {
    $this->create = 'App\Http\Requests\Create' . class_basename($this->model)) . 'Request';
}

if($this->update == UpdateRequest::class &&  class_exists('App\Http\Requests\Update' . class_basename($this->model)) . 'Request') {
    $this->update = 'App\Http\Requests\Update' . class_basename($this->model)) . 'Request';
}

if($this->resource == Resource::class &&  class_exists('App\Http\Resources\\' . class_basename($this->model)) . 'Resource') {
    $this->resource = 'App\Http\Resources\\' . class_basename($this->model)) . 'Resource';
}
/**
 * The create form request class.
 *
 * @var string
 */
public $create = CreateBrandRequest::class;

/**
 * The update form request class.
 *
 * @var string
 */
public $update = UpdateBrandRequest::class;

/**
 * The api resource class.
 *
 * @var string
 */
public $resource = BrandResource::class;