mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 22:21:06 +03:30
51 lines
1.3 KiB
PHP
51 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests;
|
|
|
|
use App\Rules\ValidateItemOwnership;
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
|
|
class StorePackageRequest extends FormRequest
|
|
{
|
|
public function authorize()
|
|
{
|
|
if ($this->method() == 'POST') {
|
|
return true;
|
|
} else {
|
|
$Package = $this->route('Package');
|
|
return auth('api')->check() && $Package && auth('api')->user()->can('update', $Package);
|
|
}
|
|
}
|
|
|
|
public function rules()
|
|
{
|
|
switch ($this->method()) {
|
|
case 'POST': {
|
|
return [
|
|
'name' => 'required|max:250',
|
|
'note' => 'nullable',
|
|
'items' => 'required|array|min:1',
|
|
'items.*' => ['exists:items,id','integer',new ValidateItemOwnership()],
|
|
];
|
|
break;
|
|
}
|
|
case 'PUT':
|
|
case 'PATCH': {
|
|
$Package = $this->route('Package');
|
|
return [
|
|
'name' => 'required|max:250',
|
|
'note' => 'nullable',
|
|
'items' => 'required|array|min:1',
|
|
'items.*' => ['exists:items,id','integer',new ValidateItemOwnership()],
|
|
];
|
|
break;
|
|
|
|
}
|
|
default:
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
}
|