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\Practice;
|
||||||
use App\Models\PractitionerRole;
|
use App\Models\PractitionerRole;
|
||||||
|
use App\Models\Speciality;
|
||||||
use Illuminate\Contracts\Support\Renderable;
|
use Illuminate\Contracts\Support\Renderable;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Routing\Controller;
|
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::controller(SpecialityController::class)->group(function () {
|
||||||
Route::get('specialities', 'index');
|
Route::get('specialities', 'index');
|
||||||
|
Route::get('list-specialities', 'listSpeciality');
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::controller(HospitalController::class)->group(function () {
|
Route::controller(HospitalController::class)->group(function () {
|
||||||
|
|||||||
@@ -15,27 +15,33 @@ class SpecialityResource extends JsonResource
|
|||||||
*/
|
*/
|
||||||
public function toArray($request)
|
public function toArray($request)
|
||||||
{
|
{
|
||||||
foreach ($this->practices as $practice) {
|
if ($this->practices && $this->prices) {
|
||||||
if ($practice->service_code === 'walkin') {
|
foreach ($this->practices as $practice) {
|
||||||
$practices[] = $practice->id;
|
if ($practice->service_code === 'walkin') {
|
||||||
|
$practices[] = $practice->id;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($this->prices as $price) {
|
foreach ($this->prices as $price) {
|
||||||
if (in_array($price->priceable_id, $practices)) {
|
if (in_array($price->priceable_id, $practices)) {
|
||||||
$prices = $price->price_net;
|
$prices = $price->price_net;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'doctors' => [
|
$this->mergeWhen($this->practitioner && $prices, [
|
||||||
'id' => isset($this->practitioner->person->id) ? $this->practitioner->person->id : $this->practitioner_id,
|
'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,
|
'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),
|
'specialis' => 'Spesialis ' . (isset($this->speciality->name) ? $this->speciality->name : $this->speciality_name),
|
||||||
'experience' => rand(5, 12),
|
'experience' => rand(5, 12),
|
||||||
'rating' => rand(20, 100),
|
'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