<?php

namespace App\Http\Resources;

use App\Models\Backoffice\MenuItem;
use Illuminate\Http\Resources\Json\JsonResource;

class MenuItemResource extends JsonResource
{
    public function toArray($request)
    {
        $children = MenuItem::full()
            ->where('parent_id', $this->id)
            ->leftJoin('website_objects_lang', function ($join) {
                $join->on('website_objects_lang.website_object_id', '=', 'menu_items.website_object_id');
            })->orderBy('position')
            ->get();
        return [
            'title' => $this->title,
            'url' => $this->website_object_id ? $this->uri : $this->url,
            'menuItems' => MenuItemResource::collection($children),
        ];
    }
}
