]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5373 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 23 Aug 2022 10:35:42 +0000 (12:35 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 23 Aug 2022 10:35:42 +0000 (12:35 +0200)
app/Console/Kernel.php
app/Http/Controllers/Admin/MaintenanceController.php [new file with mode: 0644]
app/Http/Controllers/Admin/OpenMaintenanceController.php [new file with mode: 0644]
app/Http/Controllers/Admin/Operations/Maintenance/UpdateSourcesOperation.php [new file with mode: 0644]
routes/web.php

index 1e2d58fe82a3c16c6ee8d46dbc0211d15e1a70b4..2106f1a8b74efd5954c312a801699cea85c0327f 100644 (file)
@@ -29,7 +29,7 @@ class Kernel extends \Cubist\Backpack\Console\Kernel
         $schedule->command('cubist:magic:precache')->everyFiveMinutes();
         $schedule->command('job:dispatch ProcessTotals')->everyTwoHours();
         $schedule->command('fluidbook:farm:ping')->everyMinute();
-        $schedule->command('fluidbook:player:updatesources')->everyMinute();
+        $schedule->command('fluidbook:player:updatesources')->everyTwoHours();
 
     }
 
diff --git a/app/Http/Controllers/Admin/MaintenanceController.php b/app/Http/Controllers/Admin/MaintenanceController.php
new file mode 100644 (file)
index 0000000..e7d9b52
--- /dev/null
@@ -0,0 +1,34 @@
+<?php
+
+
+namespace App\Http\Controllers\Admin;
+
+
+use App\Http\Controllers\Admin\Operations\Tools\DockerWebContainer;
+use App\Http\Controllers\Admin\Operations\Tools\Excel2JSON;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookAssetsDownloader;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchCreate;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchRemove;
+use App\Http\Controllers\Admin\Operations\Tools\GitReposCreate;
+use App\Http\Controllers\Admin\Operations\Tools\JSON2Excel;
+use App\Http\Controllers\Admin\Operations\Tools\PDF2SVGOperation;
+use App\Http\Controllers\Admin\Operations\Tools\TextToSpeech;
+use App\Http\Controllers\Controller;
+
+class MaintenanceController extends Controller
+{
+    protected function index($function, $args = '')
+    {
+        if (!$args) {
+            $args = [];
+        } else {
+            $args = explode('/', $args);
+        }
+
+        if (!method_exists($this, $function)) {
+            return view('maintenance.' . $function, ['args' => $args]);
+        } else {
+            return $this->$function($args);
+        }
+    }
+}
diff --git a/app/Http/Controllers/Admin/OpenMaintenanceController.php b/app/Http/Controllers/Admin/OpenMaintenanceController.php
new file mode 100644 (file)
index 0000000..d066768
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+
+
+namespace App\Http\Controllers\Admin;
+
+
+use App\Http\Controllers\Admin\Operations\Maintenance\UpdateSourcesOperation;
+use App\Http\Controllers\Controller;
+
+class OpenMaintenanceController extends Controller
+{
+    use UpdateSourcesOperation;
+
+    protected function index($function, $args = '')
+    {
+
+        if (!$args) {
+            $args = [];
+        } else {
+            $args = explode('/', $args);
+        }
+
+        if (!method_exists($this, $function)) {
+            return view('openmaintenance.' . $function, ['args' => $args]);
+        } else {
+            return $this->$function($args);
+        }
+
+    }
+
+
+}
diff --git a/app/Http/Controllers/Admin/Operations/Maintenance/UpdateSourcesOperation.php b/app/Http/Controllers/Admin/Operations/Maintenance/UpdateSourcesOperation.php
new file mode 100644 (file)
index 0000000..d5634d9
--- /dev/null
@@ -0,0 +1,13 @@
+<?php
+
+namespace App\Http\Controllers\Admin\Operations\Maintenance;
+
+use Illuminate\Support\Facades\Artisan;
+
+trait UpdateSourcesOperation
+{
+    public function updatesources()
+    {
+        Artisan::call('fluidbook:player:updatesources');
+    }
+}
index 018383ffed9e7e94a5770e56849e6d99c50271a5..1935bff92aedf434d4ad256fa6dc5a837cab3213 100644 (file)
@@ -2,12 +2,16 @@
 
 //Route::any('{page}/{subs?}',  'PageController@catchall')
 //    ->where(['page' => '^(((?=(?!admin))(?=(?!\/)).))*$', 'subs' => '.*']);
+use App\Http\Middleware\CheckIfAdmin;
+
 Route::group([
     'prefix' => config('backpack.base.route_prefix', 'admin'),
     'middleware' => ['web', config('backpack.base.middleware_key', 'admin')],
     'namespace' => '\App\Http\Controllers\Admin',
 ], function () { // custom admin routes
     Route::any('tools/{tool}/{args?}', 'ToolsController@index')->where(['args' => '.*']);
+    Route::any('maintenance/{function}/{args?}', 'MaintenanceController@index')->where(['args' => '.*']);
+    Route::any('openmaintenance/{function}/{args?}', 'OpenMaintenanceController@index')->where(['args' => '.*'])->withoutMiddleware([CheckIfAdmin::class]);
     Route::post('toolbox_setting', 'ToolboxSettingsController@set');
     Route::get('fluidbookthemepreview/{id}-loader.jpg', 'FluidbookThemePreviewController@previewLoader');
     Route::get('fluidbookthemepreview/{id}-burger.jpg', 'FluidbookThemePreviewController@previewBurger');