settings = $settingsService; $this->render = $renderService; $this->maintenance = $maintenanceService; $this->auth = $authService; } public function publish(Request $request) { $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']); } } }