feat(vikon): add file sync from VIKON file manager (FM)
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Containers\VikonIntegration\UI\WEB\Controllers;
|
||||
use App\Containers\VikonIntegration\Actions\Auth\AuthenticateAction;
|
||||
use App\Containers\VikonIntegration\Actions\CheckAccessAction;
|
||||
use App\Containers\VikonIntegration\Actions\CheckVersionAction;
|
||||
use App\Containers\VikonIntegration\Actions\SyncFilesAction;
|
||||
use App\Containers\VikonIntegration\Actions\UpdateCoreAction;
|
||||
use App\Containers\VikonIntegration\Tasks\RefreshTokenTask;
|
||||
use App\Containers\VikonIntegration\Tasks\ValidateTokenTask;
|
||||
@@ -23,6 +24,7 @@ class VikonController extends Controller
|
||||
private readonly CheckAccessAction $checkAccess,
|
||||
private readonly CheckVersionAction $checkVersion,
|
||||
private readonly UpdateCoreAction $updateCore,
|
||||
private readonly SyncFilesAction $syncFiles,
|
||||
private readonly RefreshTokenTask $refreshToken,
|
||||
private readonly ValidateTokenTask $validateToken,
|
||||
) {}
|
||||
@@ -145,6 +147,22 @@ class VikonController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
public function syncFiles(UpdateModuleRequest $request): JsonResponse
|
||||
{
|
||||
$token = Session::get('vikon_access_token');
|
||||
if (!$token) {
|
||||
return response()->json(['success' => false, 'requires_auth' => true], 401);
|
||||
}
|
||||
|
||||
try {
|
||||
$message = $this->syncFiles->run($request->validated('module_id'), $token);
|
||||
return response()->json(['success' => true, 'message' => $message]);
|
||||
} catch (\Throwable $e) {
|
||||
Log::error('Vikon sync failed', ['error' => $e->getMessage()]);
|
||||
return response()->json(['success' => false, 'message' => $e->getMessage()], 500);
|
||||
}
|
||||
}
|
||||
|
||||
public function logout(): JsonResponse
|
||||
{
|
||||
Session::forget(['vikon_access_token', 'vikon_refresh_token']);
|
||||
|
||||
@@ -15,5 +15,6 @@ Route::prefix('/dashboard/vikon-updates')
|
||||
Route::post('/check-access', [VikonController::class, 'checkAccess'])->name('check-access');
|
||||
Route::post('/check-version', [VikonController::class, 'checkVersion'])->name('check-version');
|
||||
Route::post('/update-module', [VikonController::class, 'updateModule'])->name('update-module');
|
||||
Route::post('/sync-files', [VikonController::class, 'syncFiles'])->name('sync-files');
|
||||
Route::post('/logout', [VikonController::class, 'logout'])->name('logout');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user