api speciality
fix speciality & add list speciality for filter in booking appointment
This commit is contained in:
@@ -4,6 +4,7 @@ namespace Modules\Linksehat\Http\Controllers\Api;
|
||||
|
||||
use App\Models\Practice;
|
||||
use App\Models\PractitionerRole;
|
||||
use App\Models\Speciality;
|
||||
use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
@@ -51,4 +52,16 @@ class SpecialityController extends Controller
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
public function listSpeciality()
|
||||
{
|
||||
$specialities = Speciality::query()->get(['name']);
|
||||
|
||||
return response()->json([
|
||||
'status' => 'success',
|
||||
'statusCode' => Response::HTTP_OK,
|
||||
'message' => 'Data Berhasil di ambil',
|
||||
'data' => SpecialityResource::collection($specialities)
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ Route::prefix('linksehat')->group(function () {
|
||||
|
||||
Route::controller(SpecialityController::class)->group(function () {
|
||||
Route::get('specialities', 'index');
|
||||
Route::get('list-specialities', 'listSpeciality');
|
||||
});
|
||||
|
||||
Route::controller(HospitalController::class)->group(function () {
|
||||
|
||||
@@ -15,27 +15,33 @@ class SpecialityResource extends JsonResource
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
foreach ($this->practices as $practice) {
|
||||
if ($practice->service_code === 'walkin') {
|
||||
$practices[] = $practice->id;
|
||||
if ($this->practices && $this->prices) {
|
||||
foreach ($this->practices as $practice) {
|
||||
if ($practice->service_code === 'walkin') {
|
||||
$practices[] = $practice->id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->prices as $price) {
|
||||
if (in_array($price->priceable_id, $practices)) {
|
||||
$prices = $price->price_net;
|
||||
foreach ($this->prices as $price) {
|
||||
if (in_array($price->priceable_id, $practices)) {
|
||||
$prices = $price->price_net;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return [
|
||||
'doctors' => [
|
||||
$this->mergeWhen($this->practitioner && $prices, [
|
||||
'id' => isset($this->practitioner->person->id) ? $this->practitioner->person->id : $this->practitioner_id,
|
||||
'name' => isset($this->practitioner->person->name) ? $this->practitioner->person->name : $this->person_name,
|
||||
'specialis' => 'Spesialis ' . (isset($this->speciality->name) ? $this->speciality->name : $this->speciality_name),
|
||||
'experience' => rand(5, 12),
|
||||
'rating' => rand(20, 100),
|
||||
'price' => Helper::currencyIdrFormat($prices),
|
||||
]
|
||||
'price' => Helper::currencyIdrFormat($prices) ?? null,
|
||||
]),
|
||||
$this->mergeWhen($this->name, [
|
||||
'title' => 'Spesialis ' . $this->name,
|
||||
'value' => $this->name
|
||||
])
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Linksehat\Transformers;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class SpecialityResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'code' => $this->code,
|
||||
'name' => $this->name,
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user