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

@@ -9,6 +9,9 @@ use Illuminate\Http\JsonResponse;
class ApiController extends Controller class ApiController extends Controller
{ {
/**
* Resoibd wutg syccess
*/
public function respondSuccess(): JsonResponse public function respondSuccess(): JsonResponse
{ {
return response()->json([ return response()->json([

View File

@@ -7,6 +7,7 @@ namespace App\Http\Controllers\Admin\Backup;
use App\Jobs\CreateBackupJob; use App\Jobs\CreateBackupJob;
use App\Models\FileDisk; use App\Models\FileDisk;
use App\Rules\Backup\PathToZip; use App\Rules\Backup\PathToZip;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Cache;
@@ -19,9 +20,10 @@ class BackupsController extends ApiController
/** /**
* Display a listing of the resource. * Display a listing of the resource.
* *
* @return JsonResponse *
* @throws AuthorizationException
*/ */
public function index(Request $request) public function index(Request $request): JsonResponse
{ {
$this->authorize('manage backups'); $this->authorize('manage backups');
@@ -70,9 +72,10 @@ class BackupsController extends ApiController
/** /**
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @return JsonResponse *
* @throws AuthorizationException
*/ */
public function store(Request $request) public function store(Request $request): JsonResponse
{ {
$this->authorize('manage backups'); $this->authorize('manage backups');
@@ -87,9 +90,10 @@ class BackupsController extends ApiController
/** /**
* Remove the specified resource from storage. * Remove the specified resource from storage.
* *
* @return JsonResponse *
* @throws AuthorizationException
*/ */
public function destroy($disk, Request $request) public function destroy($disk, Request $request): JsonResponse
{ {
$this->authorize('manage backups'); $this->authorize('manage backups');

View File

@@ -5,6 +5,8 @@
namespace App\Http\Controllers\Admin\Backup; namespace App\Http\Controllers\Admin\Backup;
use App\Rules\Backup\PathToZip; use App\Rules\Backup\PathToZip;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Spatie\Backup\BackupDestination\Backup; use Spatie\Backup\BackupDestination\Backup;
use Spatie\Backup\BackupDestination\BackupDestination; use Spatie\Backup\BackupDestination\BackupDestination;
@@ -13,7 +15,13 @@ use Symfony\Component\HttpFoundation\StreamedResponse;
class DownloadBackupController extends ApiController class DownloadBackupController extends ApiController
{ {
public function __invoke(Request $request) /**
* Handle backups
*
*
* @throws AuthorizationException
*/
public function __invoke(Request $request): \Illuminate\Http\Response|StreamedResponse|ResponseFactory
{ {
$this->authorize('manage backups'); $this->authorize('manage backups');
@@ -34,6 +42,9 @@ class DownloadBackupController extends ApiController
return $this->respondWithBackupStream($backup); return $this->respondWithBackupStream($backup);
} }
/**
* Respond with backup stream
*/
public function respondWithBackupStream(Backup $backup): StreamedResponse public function respondWithBackupStream(Backup $backup): StreamedResponse
{ {
$fileName = pathinfo($backup->path(), PATHINFO_BASENAME); $fileName = pathinfo($backup->path(), PATHINFO_BASENAME);

View File

@@ -1,25 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Modules;
use App\Http\Controllers\Controller;
use App\Services\Module\ModuleInstaller;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class ApiTokenController extends Controller
{
/**
* Handle the incoming request.
*
* @return Response
*/
public function __invoke(Request $request)
{
$this->authorize('manage modules');
$response = ModuleInstaller::checkToken($request->api_token);
return $response;
}
}

View File

@@ -1,27 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Modules;
use App\Http\Controllers\Controller;
use App\Services\Module\ModuleInstaller;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class CompleteModuleInstallationController extends Controller
{
/**
* Handle the incoming request.
*
* @return Response
*/
public function __invoke(Request $request)
{
$this->authorize('manage modules');
$response = ModuleInstaller::complete($request->module, $request->version);
return response()->json([
'success' => $response,
]);
}
}

View File

@@ -1,27 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Modules;
use App\Http\Controllers\Controller;
use App\Services\Module\ModuleInstaller;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class CopyModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @return Response
*/
public function __invoke(Request $request)
{
$this->authorize('manage modules');
$response = ModuleInstaller::copyFiles($request->module, $request->path);
return response()->json([
'success' => $response,
]);
}
}

View File

@@ -1,32 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Modules;
use App\Events\ModuleDisabledEvent;
use App\Http\Controllers\Controller;
use App\Models\Module as ModelsModule;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Nwidart\Modules\Facades\Module;
class DisableModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @return Response
*/
public function __invoke(Request $request, string $module)
{
$this->authorize('manage modules');
$module = ModelsModule::where('name', $module)->first();
$module->update(['enabled' => false]);
$installedModule = Module::find($module->name);
$installedModule->disable();
ModuleDisabledEvent::dispatch($module);
return response()->json(['success' => true]);
}
}

View File

@@ -1,25 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Modules;
use App\Http\Controllers\Controller;
use App\Services\Module\ModuleInstaller;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class DownloadModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @return Response
*/
public function __invoke(Request $request)
{
$this->authorize('manage modules');
$response = ModuleInstaller::download($request->module, $request->version);
return response()->json($response);
}
}

View File

@@ -1,32 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Modules;
use App\Events\ModuleEnabledEvent;
use App\Http\Controllers\Controller;
use App\Models\Module as ModelsModule;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Nwidart\Modules\Facades\Module;
class EnableModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @return Response
*/
public function __invoke(Request $request, string $module)
{
$this->authorize('manage modules');
$module = ModelsModule::where('name', $module)->first();
$module->update(['enabled' => true]);
$installedModule = Module::find($module->name);
$installedModule->enable();
ModuleEnabledEvent::dispatch($module);
return response()->json(['success' => true]);
}
}

View File

@@ -1,33 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Modules;
use App\Http\Controllers\Controller;
use App\Http\Resources\ModuleResource;
use App\Services\Module\ModuleInstaller;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class ModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @return 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)),
]]);
}
}

View File

@@ -0,0 +1,65 @@
<?php
namespace App\Http\Controllers\Admin\Modules;
use App\Http\Controllers\Controller;
use App\Http\Requests\UnzipUpdateRequest;
use App\Http\Requests\UploadModuleRequest;
use App\Services\Module\ModuleInstaller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class ModuleInstallationController extends Controller
{
public function download(Request $request): JsonResponse
{
$this->authorize('manage modules');
$response = ModuleInstaller::download($request->module, $request->version);
return response()->json($response);
}
public function upload(UploadModuleRequest $request): JsonResponse
{
$this->authorize('manage modules');
$response = ModuleInstaller::upload($request);
return response()->json($response);
}
public function unzip(UnzipUpdateRequest $request): JsonResponse
{
$this->authorize('manage modules');
$path = ModuleInstaller::unzip($request->module, $request->path);
return response()->json([
'success' => true,
'path' => $path,
]);
}
public function copy(Request $request): JsonResponse
{
$this->authorize('manage modules');
$response = ModuleInstaller::copyFiles($request->module, $request->path);
return response()->json([
'success' => $response,
]);
}
public function complete(Request $request): JsonResponse
{
$this->authorize('manage modules');
$response = ModuleInstaller::complete($request->module, $request->version);
return response()->json([
'success' => $response,
]);
}
}

View File

@@ -2,24 +2,73 @@
namespace App\Http\Controllers\Admin\Modules; namespace App\Http\Controllers\Admin\Modules;
use App\Events\ModuleDisabledEvent;
use App\Events\ModuleEnabledEvent;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Resources\ModuleResource;
use App\Models\Module as ModelsModule;
use App\Services\Module\ModuleInstaller; use App\Services\Module\ModuleInstaller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\Response; use Nwidart\Modules\Facades\Module;
class ModulesController extends Controller class ModulesController extends Controller
{ {
/** public function index(Request $request)
* Handle the incoming request.
*
* @return Response
*/
public function __invoke(Request $request)
{ {
$this->authorize('manage modules'); $this->authorize('manage modules');
$response = ModuleInstaller::getModules(); return ModuleInstaller::getModules();
}
return $response; public function show(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)),
]]);
}
public function checkToken(Request $request): JsonResponse
{
$this->authorize('manage modules');
return ModuleInstaller::checkToken($request->api_token);
}
public function enable(Request $request, string $module): JsonResponse
{
$this->authorize('manage modules');
$module = ModelsModule::where('name', $module)->first();
$module->update(['enabled' => true]);
$installedModule = Module::find($module->name);
$installedModule->enable();
ModuleEnabledEvent::dispatch($module);
return response()->json(['success' => true]);
}
public function disable(Request $request, string $module): JsonResponse
{
$this->authorize('manage modules');
$module = ModelsModule::where('name', $module)->first();
$module->update(['enabled' => false]);
$installedModule = Module::find($module->name);
$installedModule->disable();
ModuleDisabledEvent::dispatch($module);
return response()->json(['success' => true]);
} }
} }

View File

@@ -1,28 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Modules;
use App\Http\Controllers\Controller;
use App\Http\Requests\UnzipUpdateRequest;
use App\Services\Module\ModuleInstaller;
use Illuminate\Http\Response;
class UnzipModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @return Response
*/
public function __invoke(UnzipUpdateRequest $request)
{
$this->authorize('manage modules');
$path = ModuleInstaller::unzip($request->module, $request->path);
return response()->json([
'success' => true,
'path' => $path,
]);
}
}

View File

@@ -1,25 +0,0 @@
<?php
namespace App\Http\Controllers\Admin\Modules;
use App\Http\Controllers\Controller;
use App\Http\Requests\UploadModuleRequest;
use App\Services\Module\ModuleInstaller;
use Illuminate\Http\Response;
class UploadModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @return Response
*/
public function __invoke(UploadModuleRequest $request)
{
$this->authorize('manage modules');
$response = ModuleInstaller::upload($request);
return response()->json($response);
}
}

View File

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

View File

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

View File

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

View File

@@ -60,39 +60,27 @@ class DashboardController extends Controller
} }
while ($monthCounter < 12) { while ($monthCounter < 12) {
array_push( $invoice_totals[] = Invoice::whereBetween(
$invoice_totals, 'invoice_date',
Invoice::whereBetween( [$start->format('Y-m-d'), $end->format('Y-m-d')]
'invoice_date', )
[$start->format('Y-m-d'), $end->format('Y-m-d')] ->whereCompany()
) ->sum('base_total');
->whereCompany() $expense_totals[] = Expense::whereBetween(
->sum('base_total') 'expense_date',
); [$start->format('Y-m-d'), $end->format('Y-m-d')]
array_push( )
$expense_totals, ->whereCompany()
Expense::whereBetween( ->sum('base_amount');
'expense_date', $receipt_totals[] = Payment::whereBetween(
[$start->format('Y-m-d'), $end->format('Y-m-d')] 'payment_date',
) [$start->format('Y-m-d'), $end->format('Y-m-d')]
->whereCompany() )
->sum('base_amount') ->whereCompany()
); ->sum('base_amount');
array_push( $net_income_totals[] = ($receipt_totals[$i] - $expense_totals[$i]);
$receipt_totals,
Payment::whereBetween(
'payment_date',
[$start->format('Y-m-d'), $end->format('Y-m-d')]
)
->whereCompany()
->sum('base_amount')
);
array_push(
$net_income_totals,
($receipt_totals[$i] - $expense_totals[$i])
);
$i++; $i++;
array_push($months, $start->translatedFormat('M')); $months[] = $start->translatedFormat('M');
$monthCounter++; $monthCounter++;
$end->startOfMonth(); $end->startOfMonth();
$start->addMonth()->startOfMonth(); $start->addMonth()->startOfMonth();

View File

@@ -4,16 +4,8 @@ use App\Http\Controllers\Admin\Backup\BackupsController;
use App\Http\Controllers\Admin\Backup\DownloadBackupController; use App\Http\Controllers\Admin\Backup\DownloadBackupController;
use App\Http\Controllers\Admin\CountriesController; use App\Http\Controllers\Admin\CountriesController;
use App\Http\Controllers\Admin\CurrenciesController; use App\Http\Controllers\Admin\CurrenciesController;
use App\Http\Controllers\Admin\Modules\ApiTokenController; use App\Http\Controllers\Admin\Modules\ModuleInstallationController;
use App\Http\Controllers\Admin\Modules\CompleteModuleInstallationController;
use App\Http\Controllers\Admin\Modules\CopyModuleController;
use App\Http\Controllers\Admin\Modules\DisableModuleController;
use App\Http\Controllers\Admin\Modules\DownloadModuleController;
use App\Http\Controllers\Admin\Modules\EnableModuleController;
use App\Http\Controllers\Admin\Modules\ModuleController;
use App\Http\Controllers\Admin\Modules\ModulesController; use App\Http\Controllers\Admin\Modules\ModulesController;
use App\Http\Controllers\Admin\Modules\UnzipModuleController;
use App\Http\Controllers\Admin\Modules\UploadModuleController;
use App\Http\Controllers\Admin\Settings\DiskController; use App\Http\Controllers\Admin\Settings\DiskController;
use App\Http\Controllers\Admin\Settings\GetSettingsController; use App\Http\Controllers\Admin\Settings\GetSettingsController;
use App\Http\Controllers\Admin\Settings\MailConfigurationController; use App\Http\Controllers\Admin\Settings\MailConfigurationController;
@@ -459,25 +451,17 @@ Route::prefix('/v1')->group(function () {
// ---------------------------------- // ----------------------------------
Route::prefix('/modules')->group(function () { Route::prefix('/modules')->group(function () {
Route::get('/', ModulesController::class); Route::get('/', [ModulesController::class, 'index']);
Route::get('/check', [ModulesController::class, 'checkToken']);
Route::get('/{module}', [ModulesController::class, 'show']);
Route::post('/{module}/enable', [ModulesController::class, 'enable']);
Route::post('/{module}/disable', [ModulesController::class, 'disable']);
Route::get('/check', ApiTokenController::class); Route::post('/download', [ModuleInstallationController::class, 'download']);
Route::post('/upload', [ModuleInstallationController::class, 'upload']);
Route::get('/{module}', ModuleController::class); Route::post('/unzip', [ModuleInstallationController::class, 'unzip']);
Route::post('/copy', [ModuleInstallationController::class, 'copy']);
Route::post('/{module}/enable', EnableModuleController::class); Route::post('/complete', [ModuleInstallationController::class, 'complete']);
Route::post('/{module}/disable', DisableModuleController::class);
Route::post('/download', DownloadModuleController::class);
Route::post('/upload', UploadModuleController::class);
Route::post('/unzip', UnzipModuleController::class);
Route::post('/copy', CopyModuleController::class);
Route::post('/complete', CompleteModuleInstallationController::class);
}); });
}); });