mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-11 00:01:07 +03:30
64 lines
1.8 KiB
PHP
64 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests;
|
|
|
|
use App\Pack;
|
|
use Illuminate\Validation\Rule;
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
use Illuminate\Contracts\Validation\Validator;
|
|
|
|
|
|
class StorePackRequest extends FormRequest
|
|
{
|
|
public function authorize()
|
|
{
|
|
if ($this->method() == 'POST') {
|
|
return auth('api')->check() && auth('api')->user()->can('store', Pack::class);
|
|
} else {
|
|
$Pack = $this->route('Pack');
|
|
return auth('api')->check() && $Pack && auth('api')->user()->can('update', $Pack);
|
|
}
|
|
}
|
|
|
|
public function rules()
|
|
{
|
|
switch ($this->method()) {
|
|
case 'POST': {
|
|
return [
|
|
'name' => 'required|max:100|unique:packs',
|
|
'sterile_date' => 'required',
|
|
'expire_date' => 'required',
|
|
'sterilizer_id' => 'required',
|
|
'cycle_number' => 'required',
|
|
'lot_number' => 'required',
|
|
'department' => 'required',
|
|
'note' => 'nullable',
|
|
'packages' => 'required',
|
|
];
|
|
break;
|
|
}
|
|
case 'PUT':
|
|
case 'PATCH': {
|
|
$Pack = $this->route('Pack');
|
|
return [
|
|
'name' => 'required|max:100|unique:packs,id,'.$Pack->id,
|
|
'sterile_date' => 'required',
|
|
'expire_date' => 'required',
|
|
'sterilizer_id' => 'required',
|
|
'cycle_number' => 'required',
|
|
'lot_number' => 'required',
|
|
'department' => 'required',
|
|
'note' => 'nullable',
|
|
'packages' => 'required',
|
|
];
|
|
break;
|
|
|
|
}
|
|
default:
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
}
|