File: /mnt/data/ghayatcom/ghayatcom-api/app/Http/Resources/UserResource.php
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* App\Http\Resources
*
* @property int $id
* @property int $id
* @property string $first_name
* @property string $last_name
* @property string $country_code
* @property string $passport_number
* @property mixed $biographies
* @property string $mobile_number
* @property mixed $is_mobile_number_verified
* @property string $email
* @property mixed $is_email_verified
* @property mixed $gender
* @property mixed $dob
* @property mixed $post_code
* @property mixed $address
* @property mixed $profile_image
* @property mixed $signature
* @property mixed $signatureurl
* @property mixed $avgratingdoctor
* @property mixed $isfavourite
* @property mixed $user_completion
* @property mixed $status
* @property mixed $subscriptionstatus
* @property mixed $is_avail_health_profile
* @property mixed $is_avail_dependant_details
* @property mixed $is_avail_insurance_details
* @property mixed $unique_id
* @property mixed $two_step_verification_type
* @method object roles()
*/
class UserResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
private $code;
private $message;
private $token;
private $dashboard;
public function __construct($resource, $code = 200, $message = null, $token = null, $dashboard = null)
{
parent::__construct($resource);
$this->code = $code;
$this->message = $message;
$this->token = $token;
$this->dashboard = $dashboard;
}
public function toArray($request)
{
$eptyUserDetails = (object) ['no_of_patients' => '', 'home_visit' => '', 'on_demand' => '', 'schedule_appointment' => '', 'audio_call' => '', 'chat' => '', 'video_call' => '', 'hospital_visit' => '', 'language_id' => [], 'home_visit_currency_code' => '', 'home_visit_price' => '', 'on_demand_currency_code' => '', 'on_demand_price' => '', 'schedule_appointment_currency_code' => '', 'schedule_appointment_price' => '', 'on_demand_available_status' => '', 'on_demand_time_out' => '', 'home_visit_weekdays' => '', 'home_visit_from_time' => '', 'home_visit_to_time' => '', 'home_visit_latitude' => '', 'home_visit_longitude' => '', 'medical_council_regno' => '', 'area_specialization_id' => [], 'clinic_id' => [], 'home_visit_radius' => ''];
$countryObj = (object) ['id' => '', 'name' => '', 'iso2' => '', 'currency' => ''];
$arr = [
'code' => $this->code,
'message' => (isset($this->message)) ? [$this->message] : [__('digimed_validation.success_response.data_fetch_success')],
'data' => [
'user_id' => $this->id,
'data' => [
'id' => $this->id,
'country_id' => (isset($this->country_id)) ? $this->country_id : $countryObj,
'first_name' => $this->first_name,
'last_name' => $this->last_name,
'country_code' => $this->country_code,
'passport_number' => $this->passport_number,
'biographies' => $this->biographies,
'mobile_number' => $this->mobile_number,
'is_mobile_number_verified' => $this->is_mobile_number_verified,
'email' => $this->email,
// 'email_verification_code' => $this->email_verification_code,
'is_email_verified' => $this->is_email_verified,
'gender' => $this->gender,
'dob' => $this->dob,
'post_code' => $this->post_code,
'address' => $this->address,
'profile_image' => $this->profile_image,
'signature' => $this->signature,
'signature_url' => $this->signatureurl,
'avgratingdoctor' => $this->avgratingdoctor,
'isfavourite' => $this->isfavourite,
'user_completion' => $this->user_completion,
'status' => $this->status,
'unique_id' => $this->unique_id,
'two_step_verification_type' => $this->two_step_verification_type,
'role_names' => $this->roles()->select('id', 'name')->get()->toArray(),
'permission' => !empty($this->permission) ? json_decode($this->permission) : [],
'doctor_document' => (isset($this->doctorDocument)) ? $this->doctorDocument->document_url : [],
'consultation_detail' => (isset($this->consultationPrice)) ? $this->consultationPrice : [],
'user_detail' => (isset($this->userDetail)) ? $this->userDetail : $eptyUserDetails,
'security_settings' => (isset($this->securitySettings)) ? $this->securitySettings : (object) [],
'notification_settings' => (isset($this->notificationSettings)) ? $this->notificationSettings : (object) [],
'sum_sub' => (isset($this->sumSub)) ? $this->sumSub : [],
'education_data' => (isset($this->UserAdditionalInfo->education_data)) ? json_decode(stripslashes($this->UserAdditionalInfo->education_data), true) : [],
'experience_data' => (isset($this->UserAdditionalInfo->experience_data)) ? json_decode(stripslashes($this->UserAdditionalInfo->experience_data), true) : [],
'awards_data' => (isset($this->UserAdditionalInfo->awards_data)) ? json_decode(stripslashes($this->UserAdditionalInfo->awards_data), true) : [],
'memberships_data' => (isset($this->UserAdditionalInfo->memberships_data)) ? json_decode(stripslashes($this->UserAdditionalInfo->memberships_data), true) : [],
'registrations_data' => (isset($this->UserAdditionalInfo->registrations_data)) ? json_decode(stripslashes($this->UserAdditionalInfo->registrations_data), true) : [],
'labs' => (isset($this->labs)) ? json_decode(stripslashes($this->labs), true) : [],
],
'token' => (isset($this->token)) ? $this->token : '',
'dashboard' => (isset($this->dashboard)) ? $this->dashboard : '',
],
];
return $arr;
}
}