<?php

namespace App\Http\Resources;

use Carbon\Carbon;
use Illuminate\Http\Resources\Json\JsonResource;

class MeetingListResource extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param \Illuminate\Http\Request $request
     * @return array
     */

    public function toArray($request)
    {
        $out = [
            'id'                => $this->id,
            'slug'              => '/' . $this->lang_slug,
            'title'             => $this->title,
            'location'          => $this->location,
            'contactDetails'    => $this->contact_details,
            'cta'               => resolve_link($this->cta),
            'type'              => $this->type,
            'startDate'         => !empty($this->start_date) ? Carbon::parse($this->start_date)->format('d-m-Y') : '',
            'endDate'           => !empty($this->end_date) ? Carbon::parse($this->end_date)->format('d-m-Y') : '',
            'mapsLink'          => $this->maps_link,
            'agenda'            => new AgendaFileResource($this->agenda),
            'documentLists'     => DocumentListsResource::collection($this->documentLists),
        ];

        if (!empty($this->committee_id)) {
            $out['committee'] = new CommitteeSimpleResource($this->committee);
        }

        if (!empty($this->work_group_id)) {
            $out['workGroup'] = new WorkGroupSimpleResource($this->workGroup);
        }

        return $out;
    }
}
