Edit File: ProviderDetailsResource.php
<?php namespace App\Http\Resources\Api\User; use App\Enums\ProductDeliveryTypesEnum; use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Support\Str; class ProviderDetailsResource extends JsonResource { public function toArray($request) { $user_lat = auth()->user()?->lat ?? $request->lat ?? 31.0409; $user_lng = auth()->user()?->lng ?? $request->lng ?? 31.3786; $distanceDurationResult = calculateDistance($user_lat, $user_lng, $this->lat, $this->lng); return [ 'id' => $this?->id, 'image' => $this?->image, 'logo' => $this?->logo, 'name' => $this?->store_name, 'store_name' => $this?->store_name, 'preparing_time' => $this?->preparing_time, 'description' => $this?->store_description, 'location' => [ 'lat' => $this?->lat, 'lng' => $this?->lng, 'map_desc' => $this?->map_desc ], 'distance' => $distanceDurationResult['text'] ?? $this?->distance . __('apis.km'), 'duration' => (int)($distanceDurationResult['duration'] ?? (int)$this?->duration) . '-' . ((int)($distanceDurationResult['duration'] ?? $this?->duration) + 5) . ' ' . Str::after($distanceDurationResult['duration'] ?? $this->duration, ' '), 'minimum_order' => $this?->minimum_order, 'is_receive_orders_in_location' => $this->delivery_method != ProductDeliveryTypesEnum::Home->value, 'work_times' => WorkTimesResource::collection($this?->providerWorkTimes), 'live_call' => [ 'api_key' => $this->api_key, 'session_id' => $this->session_id, 'token' => $this->token, 'secret_key' => $this->secret_key, ], 'avg_rates' => number_format($this?->avg_rate, 2), ]; } }
Back to File Manager