Merge branch 'ehsan'

This commit is contained in:
Moradi
2025-03-08 16:31:27 +03:30
13 changed files with 3659 additions and 16 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ APP_DEBUG=
APP_URL=
LOG_CHANNEL=
BROADCAST_DRIVER=
CACHE_DRIVER=
CACHE_DRIVER=file
QUEUE_CONNECTION=
SESSION_DRIVER=
SESSION_LIFETIME=
File diff suppressed because one or more lines are too long
+4 -4
View File
@@ -111,13 +111,13 @@ class ItemController extends Controller
public function getItems()
{
$user = auth()->user();
$medicalCenterId = optional(optional($user)->medical_center)->id;
$userIds = User::where('medical_center_id', $medicalCenterId)->pluck('id')->toArray();
$userId = auth('api')->id();
// $medicalCenterId = optional(optional($user)->medical_center)->id;
// $userIds = User::where('medical_center_id', $medicalCenterId)->pluck('id')->toArray();
$Items = Item::where( "status" , StatusTypeEnum::APPROVED )
->where( "package_id" , null )
->whereIn('creator_id', $userIds)
->where('user_id', $userId)
->orderByDesc( 'id' )
->isNotRepaired()
->get();
@@ -77,6 +77,7 @@ class PackageController extends Controller
public function getPackages()
{
$Packages = Package::where("status", StatusTypeEnum::APPROVED)
->where("user_id", auth('api')->id())
->orderByDesc('id')
->get();
return PackageResource::collection($Packages);
+4 -2
View File
@@ -25,8 +25,9 @@ class StoreCycleRequest extends FormRequest
return [
'date' => 'required',
'sterilizer_id' => 'required',
'cycle_number' => 'required',
'cycle_number' => 'required|unique:cycles,cycle_number',
'note' => 'nullable',
'labels' => 'required|array|distinct',
'labels.*.id' => 'required|numeric|exists:labels,id',
];
break;
@@ -37,8 +38,9 @@ class StoreCycleRequest extends FormRequest
return [
'date' => 'required',
'sterilizer_id' => 'required',
'cycle_number' => 'required',
'cycle_number' => 'required|unique:cycles,cycle_number',
'note' => 'nullable',
'labels' => 'required|array|distinct',
'labels.*.id' => 'required|numeric|exists:labels,id',
];
break;
+2 -2
View File
@@ -26,7 +26,7 @@ class StoreLabelRequest extends FormRequest
'sterile_date' => 'required|date',
'expire_date' => 'required|date',
'sterilizer_id' => 'required',
'cycle_number' => 'required',
'cycle_number' => 'required|exists:cycles,cycle_number',
'lot_number' => 'required',
'package_id' => 'required|exists:packages,id',
];
@@ -39,7 +39,7 @@ class StoreLabelRequest extends FormRequest
'sterile_date' => 'required',
'expire_date' => 'required',
'sterilizer_id' => 'required',
'cycle_number' => 'required',
'cycle_number' => 'required|exists:cycles,cycle_number',
'lot_number' => 'required',
'package_id' => 'required|exists:packages,id',
];
+5 -2
View File
@@ -2,6 +2,7 @@
namespace App\Http\Requests;
use App\Rules\ValidateItemOwnership;
use Illuminate\Foundation\Http\FormRequest;
class StorePackageRequest extends FormRequest
@@ -23,7 +24,8 @@ class StorePackageRequest extends FormRequest
return [
'name' => 'required|max:250',
'note' => 'nullable',
'items' => 'required',
'items' => 'required|array|min:1',
'items.*' => ['exists:items,id','integer',new ValidateItemOwnership()],
];
break;
}
@@ -33,7 +35,8 @@ class StorePackageRequest extends FormRequest
return [
'name' => 'required|max:250',
'note' => 'nullable',
'items' => 'required',
'items' => 'required|array|min:1',
'items.*' => ['exists:items,id','integer',new ValidateItemOwnership()],
];
break;
-1
View File
@@ -41,7 +41,6 @@ class CycleRepository implements CycleRepositoryInterface
->whereHas('user', function ($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
})
->where("user_id", $user->id)
->orderByDesc('id')
->paginate(10);
}
-1
View File
@@ -40,7 +40,6 @@ class LabelRepository implements LabelRepositoryInterface
->whereHas('user', function ($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
})
->where("user_id", $user->id)
->orderByDesc('id')
->paginate(10);
}
-1
View File
@@ -30,7 +30,6 @@ class PackageRepository implements PackageRepositoryInterface
->whereHas('user', function ($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
})
->where("user_id", $user->id)
->orWhere("status", StatusTypeEnum::APPROVED)
->orderByDesc('id')
->paginate(10);
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Rules;
use App\Models\Item;
use Closure;
use Illuminate\Contracts\Validation\ValidationRule;
class ValidateItemOwnership implements ValidationRule
{
/**
* Run the validation rule.
*
* @param \Closure(string, ?string=): \Illuminate\Translation\PotentiallyTranslatedString $fail
*/
public function validate(string $attribute, mixed $value, Closure $fail): void
{
$item = Item::find($value);
if(!($item && $item->user_id === auth()->id())){
$fail(":attribute have invalid ownership");
}
}
}
+1 -1
View File
@@ -15,7 +15,7 @@ class DatabaseSeeder extends Seeder
public function run()
{
$this->call([
TableSeeder::class
// FakerSeeder::class
]);
}
}
@@ -4,7 +4,7 @@ namespace Database\Seeders;
use Illuminate\Database\Seeder;
class TableSeeder extends Seeder
class FakerSeeder extends Seeder
{
/**
* Seed the application's database.