fipamo/app/Http/Controllers/API/SettingsAPIController.php
ro 8bf640ee18
edited asset moving class
conversion of markdown files to html works fine, but the coresponding
css, js and image assets were not being moved, so the class responsible
for moving them was edited so theme assets are moved to their
    appropriate directories when the site is published.

also made some css and image edits, and removed a legacy css files that
were no longer in use
2024-04-25 13:17:24 -06:00

77 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Services\SettingsService;
use App\Services\RenderService;
use App\Services\MaintenanceService;
use App\Services\AuthService;
use App\Services\AssetService;
class SettingsAPIController extends Controller
{
protected $settings;
protected $render;
protected $mainteance;
protected $auth;
protected $assets;
public function __construct(
SettingsService $settingsService,
RenderService $renderService,
MaintenanceService $maintenanceService,
AuthService $authService,
AssetService $assetService
) {
$this->settings = $settingsService;
$this->render = $renderService;
$this->maintenance = $maintenanceService;
$this->auth = $authService;
$this->assets = $assetService;
}
public function publish(Request $request)
{
$this->assets->moveToTheme(true);
$result = $this->render->publishAll();
return response()->json($result)->header('Content-Type', 'application/json');
}
public function sync(Request $request)
{
$body = json_decode($request->getContent());
$result = $this->settings->sync($body);
return response()->json($result)->header('Content-Type', 'application/json');
}
public function navSync(Request $request)
{
$body = json_decode($request->getContent());
$result = $this->settings->navSync($body);
return response()->json($result)->header('Content-Type', 'application/json');
}
public function createBackup(Request $request)
{
return response()->json($this->maintenance->createBackup())->header('Content-Type', 'application/json');
}
public function downloadBackup(Request $request)
{
if ($this->auth::status()) {
$latest = $this->settings->getGlobal()['last_backup'];
$file = 'backup-' . $latest . '.zip';
return response()->download('../content/backups/' . $file, $file, ['Content-Type: application/zip']);
}
}
//init stuff
public function setupFresh(Request $request)
{
$body = json_decode($request->getContent());
dd($body);
}
}