%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/forge/api-takeaseat.eco-n-tech.co.uk/app/Http/Resources/
Upload File :
Create Path :
Current File : //home/forge/api-takeaseat.eco-n-tech.co.uk/app/Http/Resources/TherapistResource.php

<?php

namespace App\Http\Resources;

use Illuminate\Support\Str;
use App\Helpers\MoneyHelper;
use App\Http\Resources\TherapistUserResource;
use App\Http\Resources\SessionResource;
use App\Http\Resources\SpecialismResource;
use App\Http\Resources\ProductResource;
use App\Http\Resources\TagResource;
use App\Http\Resources\QuestionResource;
use App\Http\Resources\LanguageResource;
use App\Http\Resources\Account\UserAddressResource;
use Illuminate\Http\Resources\Json\JsonResource;

class TherapistResource extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'slug' => $this->slug,
            'colour' => $this->colour,
            'location' => new UserAddressResource($this->user->location),
            'description' => $this->description,
            'short_description' => Str::limit(strip_tags($this->description), 200),
            'sessions' => SessionResource::collection($this->sessions),
            'main_specialism' => new SpecialismResource($this->whenLoaded('main_specialism')),
            'specialisms' => SpecialismResource::collection($this->specialisms->unique('name')),
            'tags' => TagResource::collection($this->tags),
            'price_from' => money(MoneyHelper::stripeFormat($this->user->products->min('price'))),
            'products' => ProductResource::collection($this->user->products),
            'languages' => LanguageResource::collection($this->whenLoaded('languages')),
            'questions_one' => QuestionResource::collection($this->questions_one),
            'questions_two' => QuestionResource::collection($this->questions_two),
            'user' => new TherapistUserResource($this->user),
            'image_one' => [
                'url' => $this->image_one_url ? url('/storage/'.$this->image_one_url) : null,
            ],
            'image_two' => [
                'url' => $this->image_two_url ? url('/storage/'.$this->image_two_url) : null
            ],
            'is_booking_enabled' => count($this->availability) > 0 && $this->user->stripe_connect_id && count($this->user->products) > 0 ? true : false
        ];
    }
}

Zerion Mini Shell 1.0