<?php

namespace App\Http\Resources;

use App\Models\GenericBackoffice\OpenPosition;
use Illuminate\Http\Resources\Json\ResourceCollection;

class OpenPositionsCollection extends ResourceCollection
{
    protected $linkStyle;
    /**
     * Create a new resource instance.
     *
     * @param  mixed  $resource
     * @param  array  $linkStyle
     * @return void
     */
    public function __construct($resource, array $linkStyle = [])
    {
        parent::__construct($resource);
        $this->resource = $this->collectResource($resource);
        $this->linkStyle = $linkStyle;
    }

    /**
     * Transform the resource collection into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {

        $this->collection->transform(function (OpenPosition $openPosition) {
            return (new OpenPositionResource($openPosition, false, $this->linkStyle));
        });

        return parent::toArray($request);
    }
}
