Files
ABSDEV/Modules/Builder/Http/Controllers/BuilderApiController.php
T
Mark Gregory 412e8134a1 Builder administration area
* Page builder foundation
* Form builder document type
* Dashboard builder document type
* Report builder document type
* Menu builder document type
* Email builder document type
* Query builder document type
* Workflow builder document type
* Reusable component registry
* Form-field registry
* Dashboard-widget registry
* Hero, heading, and rich-content components
* JSON document schema
* Saved builder documents
* Draft, published, and archived states
* Document version history
* Reusable builder templates
* Component rendering service
* Extensible BuilderComponent contract
* Authenticated Builder REST endpoints
* Administration navigation
* Builder permissions
* Module registration and test
2026-07-24 13:29:58 +01:00

14 lines
806 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 ?? [])]); }
}