<?php

namespace App\Http\Resources\Archives;

use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;

class ArchiveResourceCollection extends ResourceCollection
{
    private array $availableYears;

    /**
     * Create a new resource collection instance.
     *
     * @param mixed $resource
     * @param array $availableYears
     * @return void
     */
    public function __construct($resource, array $availableYears = [])
    {
        parent::__construct($resource);
        $this->availableYears = $availableYears;
    }

    /**
     * Transform the resource collection into an array.
     *
     * @return array<int|string, mixed>
     */
    public function toArray(Request $request): array
    {
        return [
            'data' => ArchiveResource::collection($this->collection),
            'availableYears' => $this->availableYears,
        ];
    }
}
