<?php

namespace App\Http\Resources\Admin\V1;

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

/**
 * Un producto del catálogo, tal como lo ve la API de administración (PRODSECU-215).
 *
 * `type_ids` son las plataformas con las que es compatible (`product_type`): es lo que el
 * script necesita para saber qué productos puede poner en la licencia de un sitio.
 *
 * @mixin \App\Models\Products\Product
 */
class ProductResource extends JsonResource
{
    public function toArray(Request $request): array
    {
        return [
            'id' => $this->id,
            'slug' => $this->slug,
            'name' => $this->name,
            'type' => $this->type,
            'tech' => $this->tech,
            'type_ids' => $this->types->pluck('id')->sort()->values()->all(),
        ];
    }
}
