Files
2026-07-24 14:59:44 +01:00

28 lines
871 B
PHP

<?php
namespace Modules\Builder\Http\Controllers;
use Illuminate\Http\JsonResponse;
use Illuminate\Routing\Controller;
use Modules\Builder\Models\BuilderDocument;
use Modules\Builder\Services\BuilderRegistry;
use Modules\Builder\Services\BuilderRenderer;
final class BuilderApiController extends Controller
{
public function components(BuilderRegistry $registry): JsonResponse
{
return response()->json(['data' => $registry->components(), 'widgets' => $registry->widgets(), 'fields' => $registry->fields()]);
}
public function show(BuilderDocument $document): JsonResponse
{
return response()->json(['data' => $document]);
}
public function preview(BuilderDocument $document, BuilderRenderer $renderer): JsonResponse
{
return response()->json(['html' => $renderer->render($document->document ?? [])]);
}
}