<?php

namespace App\Services\PromptLandingPageEditor;

use App\Enums\PromptLandingPageVersionKind;
use App\Models\PromptLandingPage;
use App\Models\PromptLandingPageVersion;

class RestoreVersion
{
    /**
     * @return array{html: string, css: string, js: string, version: int, kind: string}
     */
    public function handle(PromptLandingPage $page, PromptLandingPageVersion $version): array
    {
        abort_unless($version->prompt_landing_page_id === $page->id, 404);

        $kind = $version->kind ?? PromptLandingPageVersionKind::Published;

        return [
            'html' => (string) ($version->html ?? ''),
            'css' => (string) ($version->css ?? ''),
            'js' => (string) ($version->js ?? ''),
            'version' => $version->version,
            'kind' => $kind->value,
        ];
    }
}
