<?php

namespace App\Http\Resources\Admin\V1;

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

/**
 * Un entorno, tal como lo ve la API de administración (PRODSECU-215).
 *
 * **Lo que se puede escribir, se puede leer**: todos los campos que acepta
 * {@see \App\Http\Requests\Api\Admin\V1\EntornoRequest}, más el id, el cliente y si está
 * activo. Fuera a propósito lo que la API no escribe: `moodletoken` (la credencial del
 * Moodle), las observaciones de revisión y el registro de las bajas.
 *
 * @mixin \App\Models\Environments\Environment
 */
class EnvironmentResource extends JsonResource
{
    public function toArray(Request $request): array
    {
        return [
            'id' => $this->id,
            'client_id' => $this->client_id,
            'license_token_id' => $this->license_token_id,
            'type_id' => $this->type_id,
            'env' => $this->env,
            'name' => $this->name,
            'domain' => $this->domain,
            'description' => $this->description,
            'key' => $this->key,
            'version' => $this->version,
            'login_url' => $this->login_url,
            'active' => (bool) $this->active,
        ];
    }
}
