Files
docker_dev/crater/app/Http/Controllers/V1/Admin/Modules/ModuleController.php
2025-09-20 16:11:47 +02:00

34 lines
870 B
PHP

<?php
namespace Crater\Http\Controllers\V1\Admin\Modules;
use Crater\Http\Controllers\Controller;
use Crater\Http\Resources\ModuleResource;
use Crater\Space\ModuleInstaller;
use Illuminate\Http\Request;
class ModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function __invoke(Request $request, string $module)
{
$this->authorize('manage modules');
$response = ModuleInstaller::getModule($module);
if (! $response->success) {
return response()->json($response);
}
return (new ModuleResource($response->module))
->additional(['meta' => [
'modules' => ModuleResource::collection(collect($response->modules))
]]);
}
}