<?php

namespace App\Http\Resources\V1;

use Illuminate\Http\Resources\Json\JsonResource;

class UserResource extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return  [
            'profile'              => [
                'id'    => $this->id,
                'email' => $this->email,
                'name'  => $this->name,
            ],
            'favouriteArtists'     => ArtistResource::collection($this->whenLoaded('favouriteArtists')),
            'favouriteExhibitions' => ExhibitionListItemResource::collection($this->whenLoaded('favouriteExhibitions')),
            'favouriteCollections' => CollectionResource::collection($this->whenLoaded('favouriteCollections')),
            'devices'              => DeviceResource::collection($this->whenLoaded('devices'))
        ];
    }
}
