Come BackEnd

This commit is contained in:
saeid_01
2019-04-18 20:18:13 +04:30
parent dfbefad4a4
commit 03a135305b
61 changed files with 3266 additions and 58 deletions
@@ -0,0 +1,53 @@
<?php
namespace App\Http\Requests;
use App\MedicalCenter;
use Illuminate\Validation\Rule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\Validator;
class StoreMedicalCenterRequest extends FormRequest
{
public function authorize()
{
if ($this->method() == 'POST') {
return auth('api')->check() && auth('api')->user()->can('store', MedicalCenter::class);
} else {
$MedicalCenter = $this->route('MedicalCenter');
return auth('api')->check() && $MedicalCenter && auth('api')->user()->can('update', $MedicalCenter);
}
}
public function rules()
{
switch ($this->method()) {
case 'POST': {
return [
'name' => 'required|max:100|unique:medical_centers',
// 'operatores.*.name'=>'required|string|max:255',
// 'operatores.*.cell_number'=>'required|digits_between:10,11|unique:users',
// 'operatores.*.password'=>'required|string|min:6',
];
break;
}
case 'PUT':
case 'PATCH': {
$MedicalCenter = $this->route('MedicalCenter');
return [
'name' => 'required|max:100|unique:medical_centers,id,'.$MedicalCenter->id,
// 'operatores.*.name'=>'required|string|max:255',
// 'operatores.*.cell_number'=>'required|digits_between:10,11|unique:users',
// 'operatores.*.password'=>'required|string|min:6',
];
break;
}
default:
break;
}
}
}
@@ -0,0 +1,57 @@
<?php
namespace App\Http\Requests;
use App\TestType;
use Illuminate\Validation\Rule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\Validator;
class StoreTestTypeRequest extends FormRequest
{
public function authorize()
{
if ($this->method() == 'POST') {
return auth('api')->check() && auth('api')->user()->can('store', TestType::class);
} else {
$TestType = $this->route('TestType');
return auth('api')->check() && $TestType && auth('api')->user()->can('update', $TestType);
}
}
public function rules()
{
switch ($this->method()) {
case 'POST': {
return [
'name' => 'required|max:100|unique:test_types',
'unique_code' => 'required|max:100|unique:test_types',
'info.*.name'=>'required',
'info.*.type'=>'required',
'info.*.size'=>'required',
'info.*.parent_id'=>'nullable|numeric|exists:inputs,id',
];
break;
}
case 'PUT':
case 'PATCH': {
$TestType = $this->route('TestType');
return [
'name' => 'required|max:100|unique:test_types,id,'.$TestType->id,
'unique_code' => 'required|max:100|unique:test_types,id,'.$TestType->id,
'info.*.name'=>'required',
'info.*.type'=>'required',
'info.*.size'=>'required',
'info.*.parent_id'=>'nullable|numeric|exists:inputs,id',
];
break;
}
default:
break;
}
}
}
+53
View File
@@ -0,0 +1,53 @@
<?php
namespace App\Http\Requests;
use App\User;
use Illuminate\Validation\Rule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\Validator;
class StoreUserRequest extends FormRequest
{
public function authorize()
{
if ($this->method() == 'POST') {
return auth('api')->check() && auth('api')->user()->can('store', User::class);
} else {
$User = $this->route('User');
return auth('api')->check() && $User && auth('api')->user()->can('update', $User);
}
}
public function rules()
{
switch ($this->method()) {
case 'POST': {
return [
'name'=>'required|string|max:255',
'cell_number'=>'required|digits_between:10,11|unique:users',
'password'=>'required|string|min:6',
'medical_center_id' => 'required|numeric|exists:medical_centers,id',
];
break;
}
case 'PUT':
case 'PATCH': {
$User = $this->route('User');
return [
'name'=>'required|string|max:255',
'cell_number'=>'required|digits_between:10,11|unique:users,id,'.$User->id,
'password'=>'required|string|min:6',
'medical_center_id' => 'required|numeric|exists:medical_centers,id',
];
break;
}
default:
break;
}
}
}