cms/app/Http/Controllers/Admin/Themes/ThemeEditorFileTreeController.php

34 lines
947 B
PHP
Raw Normal View History

<?php
namespace App\Http\Controllers\Admin\Themes;
use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\Themes\ThemeFileTreeRequest;
use App\Services\ThemeEditorService;
use Exception;
/**
* Controller for retrieving the file tree of a theme.
*/
class ThemeEditorFileTreeController extends Controller
{
/**
* Handle the file tree request.
*
* @param \App\Http\Requests\Admin\Themes\ThemeFileTreeRequest $request
* @param \App\Services\ThemeEditorService $editorService
* @return \Illuminate\Http\JsonResponse
*/
public function __invoke(ThemeFileTreeRequest $request, ThemeEditorService $editorService)
{
$theme = $request->query('theme');
try {
$tree = $editorService->getFileTree($theme);
return response()->json($tree);
} catch (Exception $e) {
return response()->json(['error' => $e->getMessage()], 404);
}
}
}