Consolidate Admin/Modules: 10 single-action controllers into 2

ModulesController: index, show, checkToken, enable, disable
ModuleInstallationController: download, upload, unzip, copy, complete
This commit is contained in:
Darko Gjorgjijoski
2026-04-03 21:16:18 +02:00
parent e9ee74cd01
commit d505677a74
21 changed files with 244 additions and 373 deletions

View File

@@ -7,9 +7,10 @@ use App\Http\Requests\DiskEnvironmentRequest;
use App\Http\Resources\FileDiskResource;
use App\Models\FileDisk;
use App\Services\FileDiskService;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
class DiskController extends Controller
{
@@ -18,9 +19,10 @@ class DiskController extends Controller
) {}
/**
* @return JsonResponse
* @throws AuthorizationException
* @throws AuthorizationException
*/
public function index(Request $request)
public function index(Request $request): AnonymousResourceCollection
{
$this->authorize('manage file disk');
@@ -34,8 +36,11 @@ class DiskController extends Controller
/**
* @return JsonResponse
*
* @throws AuthorizationException
* @throws AuthorizationException
*/
public function store(DiskEnvironmentRequest $request)
public function store(DiskEnvironmentRequest $request): JsonResponse|FileDiskResource
{
$this->authorize('manage file disk');
@@ -49,10 +54,9 @@ class DiskController extends Controller
}
/**
* @param FileDisk $file_disk
* @return JsonResponse
* @throws AuthorizationException
*/
public function update(FileDisk $disk, Request $request)
public function update(FileDisk $disk, Request $request): JsonResponse|FileDiskResource
{
$this->authorize('manage file disk');
@@ -74,10 +78,13 @@ class DiskController extends Controller
/**
* @param Request $request
* @return JsonResponse
*
* @throws AuthorizationException
* @throws AuthorizationException
*/
public function show($disk)
public function show($disk): JsonResponse
{
$this->authorize('manage file disk');
$diskData = [];
@@ -143,9 +150,11 @@ class DiskController extends Controller
* Remove the specified resource from storage.
*
* @param FileDisk $taxType
* @return Response
*
* @throws AuthorizationException
* @throws AuthorizationException
*/
public function destroy(FileDisk $disk)
public function destroy(FileDisk $disk): JsonResponse
{
$this->authorize('manage file disk');
@@ -161,9 +170,10 @@ class DiskController extends Controller
}
/**
* @return JsonResponse
* @throws AuthorizationException
* @throws AuthorizationException
*/
public function getDiskDrivers()
public function getDiskDrivers(): JsonResponse
{
$this->authorize('manage file disk');

View File

@@ -5,18 +5,18 @@ namespace App\Http\Controllers\Admin\Settings;
use App\Http\Controllers\Controller;
use App\Http\Requests\GetSettingRequest;
use App\Models\Setting;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Http\JsonResponse;
class GetSettingsController extends Controller
{
/**
* Handle the incoming request.
*
* @param Request $request
* @return Response
*
* @throws AuthorizationException
*/
public function __invoke(GetSettingRequest $request)
public function __invoke(GetSettingRequest $request): JsonResponse
{
$this->authorize('manage settings');

View File

@@ -33,11 +33,11 @@ class MailConfigurationController extends Controller
/**
* Save the mail environment variables
*
* @return JsonResponse
*
*
* @throws AuthorizationException
*/
public function saveMailEnvironment(MailEnvironmentRequest $request)
public function saveMailEnvironment(MailEnvironmentRequest $request): JsonResponse
{
$this->authorize('manage email config');
@@ -60,10 +60,8 @@ class MailConfigurationController extends Controller
/**
* Prepare mail settings for database storage
*
* @return array
*/
private function prepareMailSettingsForDatabase(MailEnvironmentRequest $request)
private function prepareMailSettingsForDatabase(MailEnvironmentRequest $request): array
{
$driver = $request->get('mail_driver');
@@ -120,11 +118,10 @@ class MailConfigurationController extends Controller
/**
* Return the mail environment variables
*
* @return JsonResponse
*
* @throws AuthorizationException
*/
public function getMailEnvironment()
public function getMailEnvironment(): JsonResponse
{
$this->authorize('manage email config');
@@ -211,11 +208,10 @@ class MailConfigurationController extends Controller
/**
* Return the available mail drivers
*
* @return JsonResponse
*
* @throws AuthorizationException
*/
public function getMailDrivers()
public function getMailDrivers(): JsonResponse
{
$this->authorize('manage email config');
@@ -233,12 +229,12 @@ class MailConfigurationController extends Controller
/**
* Test the email configuration
*
* @return JsonResponse
*
*
* @throws AuthorizationException
* @throws ValidationException
*/
public function testEmailConfig(Request $request)
public function testEmailConfig(Request $request): JsonResponse
{
$this->authorize('manage email config');

View File

@@ -6,20 +6,27 @@ use App\Http\Controllers\Controller;
use App\Http\Requests\PDFConfigurationRequest;
use App\Models\Setting;
use App\Services\Setup\EnvironmentManager;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Http\JsonResponse;
class PDFConfigurationController extends Controller
{
/**
* @var EnvironmentManager
*/
protected $environmentManager;
protected EnvironmentManager $environmentManager;
/**
* Constructor
*/
public function __construct(EnvironmentManager $environmentManager)
{
$this->environmentManager = $environmentManager;
}
public function getDrivers()
/**
* Returns the available drivers
*
* @throws AuthorizationException
*/
public function getDrivers(): JsonResponse
{
$this->authorize('manage pdf config');
@@ -31,7 +38,12 @@ class PDFConfigurationController extends Controller
return response()->json($drivers);
}
public function getEnvironment()
/**
* Return the PDF settings
*
* @throws AuthorizationException
*/
public function getEnvironment(): JsonResponse
{
$this->authorize('manage pdf config');
@@ -53,7 +65,12 @@ class PDFConfigurationController extends Controller
return response()->json($config);
}
public function saveEnvironment(PDFConfigurationRequest $request)
/**
* Saves the settings
*
* @throws AuthorizationException
*/
public function saveEnvironment(PDFConfigurationRequest $request): JsonResponse
{
$this->authorize('manage pdf config');
@@ -70,10 +87,8 @@ class PDFConfigurationController extends Controller
/**
* Prepare PDF settings for database storage
*
* @return array
*/
private function preparePDFSettingsForDatabase(PDFConfigurationRequest $request)
private function preparePDFSettingsForDatabase(PDFConfigurationRequest $request): array
{
$driver = $request->get('pdf_driver');

View File

@@ -5,18 +5,18 @@ namespace App\Http\Controllers\Admin\Settings;
use App\Http\Controllers\Controller;
use App\Http\Requests\SettingRequest;
use App\Models\Setting;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Http\JsonResponse;
class UpdateSettingsController extends Controller
{
/**
* Handle the incoming request.
*
* @param Request $request
* @return Response
*
* @throws AuthorizationException
*/
public function __invoke(SettingRequest $request)
public function __invoke(SettingRequest $request): JsonResponse
{
$this->authorize('manage settings');