<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;

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

    public function toArray($request)
    {
        $result = [];

        foreach ($this->resource as $entry) {
            $result[] = [
                'id' => $entry['website_object_id'],
                'name' => $entry['clean_title'] ? $entry['clean_title'] : $entry['title'],
                'children' => $this->getChildren($entry),
            ];
        }

        return $result;
    }

    private function getChildren($entry)
    {
        $children = [];

        if (!empty($entry['children'])) {
            foreach ($entry['children'] as $child) {
                $children[] = [
                    'id' => $child['website_object_id'],
                    'name' => $child['clean_title'],
                    'children' => $this->getChildren($child),
                ];
            }
        }

        return $children;
    }
}
