42
common/Generators/Request/GenerateRequest.php
Executable file
42
common/Generators/Request/GenerateRequest.php
Executable file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace Common\Generators\Request;
|
||||
|
||||
use Illuminate\Foundation\Console\RequestMakeCommand;
|
||||
use Str;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
|
||||
class GenerateRequest extends RequestMakeCommand
|
||||
{
|
||||
protected function getStub()
|
||||
{
|
||||
return __DIR__.'/stubs/request.stub';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @return string
|
||||
*/
|
||||
protected function buildClass($name)
|
||||
{
|
||||
$stub = parent::buildClass($name);
|
||||
|
||||
$model = Str::snake($this->option('model'));
|
||||
$table = Str::plural($model);
|
||||
|
||||
$stub = str_replace('DummyModel', $model, $stub);
|
||||
$stub = str_replace('DummyTable', $table, $stub);
|
||||
|
||||
return $stub;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
protected function getOptions()
|
||||
{
|
||||
return [
|
||||
['model', 'm', InputOption::VALUE_OPTIONAL, 'The model that the request applies to.'],
|
||||
];
|
||||
}
|
||||
}
|
||||
35
common/Generators/Request/stubs/request.stub
Executable file
35
common/Generators/Request/stubs/request.stub
Executable file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace DummyNamespace;
|
||||
|
||||
use Auth;
|
||||
use Common\Core\BaseFormRequest;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
class DummyClass extends BaseFormRequest
|
||||
{
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
$required = $this->getMethod() === 'POST' ? 'required' : '';
|
||||
$ignore = $this->getMethod() === 'PUT' ? $this->route('DummyModel')->id : '';
|
||||
$userId = $this->route('DummyModel') ? $this->route('DummyModel')->user_id : Auth::id();
|
||||
|
||||
return [
|
||||
'name' => [
|
||||
$required, 'string', 'min:3',
|
||||
Rule::unique('DummyTable')->where('user_id', $userId)->ignore($ignore)
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user