mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-28 04:01:10 -04:00
v6 update
This commit is contained in:
25
app/Http/Controllers/V1/Admin/Modules/ApiTokenController.php
Normal file
25
app/Http/Controllers/V1/Admin/Modules/ApiTokenController.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Http\Controllers\V1\Admin\Modules;
|
||||
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Crater\Space\ModuleInstaller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ApiTokenController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$this->authorize('manage modules');
|
||||
|
||||
$response = ModuleInstaller::checkToken($request->api_token);
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Http\Controllers\V1\Admin\Modules;
|
||||
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Crater\Space\ModuleInstaller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CompleteModuleInstallationController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$this->authorize('manage modules');
|
||||
|
||||
$response = ModuleInstaller::complete($request->module, $request->version);
|
||||
|
||||
return response()->json([
|
||||
'success' => $response
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Http\Controllers\V1\Admin\Modules;
|
||||
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Crater\Space\ModuleInstaller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CopyModuleController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$this->authorize('manage modules');
|
||||
|
||||
$response = ModuleInstaller::copyFiles($request->module, $request->path);
|
||||
|
||||
return response()->json([
|
||||
'success' => $response
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Http\Controllers\V1\Admin\Modules;
|
||||
|
||||
use Crater\Events\ModuleDisabledEvent;
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Crater\Models\Module as ModelsModule;
|
||||
use Illuminate\Http\Request;
|
||||
use Nwidart\Modules\Facades\Module;
|
||||
|
||||
class DisableModuleController 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');
|
||||
|
||||
$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]);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Http\Controllers\V1\Admin\Modules;
|
||||
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Crater\Space\ModuleInstaller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class DownloadModuleController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$this->authorize('manage modules');
|
||||
|
||||
$response = ModuleInstaller::download($request->module, $request->version);
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Http\Controllers\V1\Admin\Modules;
|
||||
|
||||
use Crater\Events\ModuleEnabledEvent;
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Crater\Models\Module as ModelsModule;
|
||||
use Illuminate\Http\Request;
|
||||
use Nwidart\Modules\Facades\Module;
|
||||
|
||||
class EnableModuleController 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');
|
||||
|
||||
$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]);
|
||||
}
|
||||
}
|
||||
33
app/Http/Controllers/V1/Admin/Modules/ModuleController.php
Normal file
33
app/Http/Controllers/V1/Admin/Modules/ModuleController.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?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))
|
||||
]]);
|
||||
}
|
||||
}
|
||||
25
app/Http/Controllers/V1/Admin/Modules/ModulesController.php
Normal file
25
app/Http/Controllers/V1/Admin/Modules/ModulesController.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Http\Controllers\V1\Admin\Modules;
|
||||
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Crater\Space\ModuleInstaller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ModulesController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$this->authorize('manage modules');
|
||||
|
||||
$response = ModuleInstaller::getModules();
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Http\Controllers\V1\Admin\Modules;
|
||||
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Crater\Space\ModuleInstaller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UnzipModuleController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$this->authorize('manage modules');
|
||||
|
||||
$path = ModuleInstaller::unzip($request->module, $request->path);
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'path' => $path
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Crater\Http\Controllers\V1\Admin\Modules;
|
||||
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Crater\Space\ModuleInstaller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UploadModuleController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$this->authorize('manage modules');
|
||||
|
||||
$response = ModuleInstaller::upload($request);
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user