<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;

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

    public function __construct($resource)
    {
        $this->resource = $resource;
    }

    public function toArray($request)
    {
        $hasPromotion = $this->packs->contains(function ($pack, $key) {
            return $pack->promo_active;
        });

        $out = [
            'id'           => (int)$this->id,
            'slug'         => $this->slug,
            'title'        => $this->title,
            'name'         => $this->name,
            'visualTitle'  => $this->visual_title,
            'tagline'      => $this->tagline,
            'description'  => $this->description,
            'color'        => $this->color,
            'promoActive'  => $hasPromotion,
            'packs'        => Pack::collection($this->packs)
        ];

        return $out;
    }
}
