52 lines
2.0 KiB
PHP
52 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace Modules\Linksehat\Transformers;
|
|
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
|
|
class DoctorResource extends JsonResource
|
|
{
|
|
/**
|
|
* Transform the resource into an array.
|
|
*
|
|
* @param \Illuminate\Http\Request
|
|
* @return array
|
|
*/
|
|
public function toArray($request)
|
|
{
|
|
$practices = $this->practitionerRoles->map(function($practitionerRole) {
|
|
return [
|
|
'id' => $practitionerRole->id,
|
|
'doctor_id' => $practitionerRole->practitioner_id,
|
|
'hospital_id' => $practitionerRole->organization_id,
|
|
'speciality_id' => $practitionerRole->speciality_id,
|
|
'hospital' => HospitalResource::make($practitionerRole->organization),
|
|
'speciality' => SpecialityResource::make($practitionerRole->speciality)
|
|
];
|
|
});
|
|
|
|
return [
|
|
'id' => $this->id,
|
|
'full_name' => $this->person->full_name ?? null,
|
|
'name_prefix' => $this->person->name_prefix ?? null,
|
|
'name' => $this->person->name ?? null,
|
|
'name_suffix' => $this->person->name_suffix ?? null,
|
|
'gender' => $this->person->gender ?? null,
|
|
// 'speciality_name' => !empty($this->speciality->name ?? null) ? 'Spesialis '. $this->speciality->name : 'Spesialis Empty',
|
|
'is_online' => false,
|
|
'is_insurance_covered' => rand(0,1) == 1,
|
|
// 'price_range' => 'Rp 100.000 - Rp 350.000',
|
|
// 'price_start' => '100000',
|
|
// 'price_end' => '350000',
|
|
'avatar_url' => asset('images/default-doctor-avatar.png'),
|
|
'education' => $this->meta->education ?? '',
|
|
'medical_treatment' => $this->meta->medical_treatment ?? '',
|
|
'award' => $this->meta->award ?? '',
|
|
'work_experience' => $this->meta->work_experience ?? '',
|
|
'keilmuan' => $this->meta->keilmuan ?? '',
|
|
'description' => $this->meta->description ?? '',
|
|
'practices' => $practices
|
|
];
|
|
}
|
|
}
|