mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 19:41:07 +03:30
fix some problems
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repositories;
|
||||
|
||||
use App\Constants\StatusTypeEnum;
|
||||
use App\Interfaces\PackageRepositoryInterface;
|
||||
use App\Package;
|
||||
|
||||
class PackageRepository implements PackageRepositoryInterface
|
||||
{
|
||||
public function indexForUser($request, $user)
|
||||
{
|
||||
return Package::when($request->has('name') && $request->name != '', function ($query) use ($request) {
|
||||
$query->where('name', 'LIKE', '%'.$request->name.'%');
|
||||
})
|
||||
->when($request->has('package_id') && $request->package_id != '', function ($query) use ($request) {
|
||||
$query->where('id', $request->package_id);
|
||||
})
|
||||
->when($request->has('medical_center_id') && $request->medical_center_id != '' && $request->medical_center_id != 'undefined', function ($query) use ($request) {
|
||||
$query->whereHas('user', function ($query) use ($request) {
|
||||
$query->where('medical_center_id', $request->medical_center_id);
|
||||
});
|
||||
})
|
||||
->with([
|
||||
'user',
|
||||
'user.medical_center' => function ($query) {
|
||||
$query->select('id', 'name', 'address', 'phone_number');
|
||||
},
|
||||
])
|
||||
->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);
|
||||
}
|
||||
|
||||
public function indexForSupervisor($request, $user)
|
||||
{
|
||||
return Package::when($request->has('name') && $request->name != '', function ($query) use ($request) {
|
||||
$query->where('name', 'LIKE', '%'.$request->name.'%');
|
||||
})
|
||||
->when($request->has('package_id') && $request->package_id != '', function ($query) use ($request) {
|
||||
$query->where('id', $request->package_id);
|
||||
})
|
||||
->when($request->has('medical_center_id') && $request->medical_center_id != '' && $request->medical_center_id != 'undefined', function ($query) use ($request) {
|
||||
$query->whereHas('user', function ($query) use ($request) {
|
||||
$query->where('medical_center_id', $request->medical_center_id);
|
||||
});
|
||||
})
|
||||
->with([
|
||||
'user',
|
||||
'user.medical_center' => function ($query) {
|
||||
$query->select('id', 'name', 'address', 'phone_number');
|
||||
},
|
||||
])->whereHas('user', function ($query) use ($user) {
|
||||
$query->where('medical_center_id', $user->medical_center_id);
|
||||
})
|
||||
->orderByDesc('id')
|
||||
->paginate(10);
|
||||
}
|
||||
|
||||
public function indexForAdmin($request, $user)
|
||||
{
|
||||
return Package::when($request->has('name') && $request->name != '', function ($query) use ($request) {
|
||||
$query->where('name', 'LIKE', '%'.$request->name.'%');
|
||||
})
|
||||
->when($request->has('package_id') && $request->package_id != '', function ($query) use ($request) {
|
||||
$query->where('id', $request->package_id);
|
||||
})
|
||||
->when($request->has('medical_center_id') && $request->medical_center_id != '' && $request->medical_center_id != 'undefined', function ($query) use ($request) {
|
||||
$query->whereHas('user', function ($query) use ($request) {
|
||||
$query->where('medical_center_id', $request->medical_center_id);
|
||||
});
|
||||
})
|
||||
->with([
|
||||
'user',
|
||||
'user.medical_center' => function ($query) {
|
||||
$query->select('id', 'name', 'address', 'phone_number');
|
||||
},
|
||||
])
|
||||
->orderByDesc('id')
|
||||
->paginate(10);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user