public function postDownload(Request $request) { $download = Models\Download::where('token', $request->input('token', '00'))->first(); if (!$download) { return response()->json(['error' => 'An invalid request token was recieved with this request.'], 403); } $download->delete(); return response()->json(['path' => $download->path, 'server' => $download->server]); }
/** * Handles downloading a file for the user. * * @param Request $request * @param string $uuid * @param string $file * @return \Illuminate\Contracts\View\View */ public function getDownloadFile(Request $request, $uuid, $file) { $server = Models\Server::getByUUID($uuid); $node = Models\Node::find($server->node); $this->authorize('download-files', $server); $download = new Models\Download(); $download->token = (string) Uuid::generate(4); $download->server = $server->uuid; $download->path = str_replace('../', '', $file); $download->save(); return redirect($node->scheme . '://' . $node->fqdn . ':' . $node->daemonListen . '/server/download/' . $download->token); }
public function deleteServer($id, $force) { $server = Models\Server::findOrFail($id); $node = Models\Node::findOrFail($server->node); DB::beginTransaction(); try { // Delete Allocations Models\Allocation::where('assigned_to', $server->id)->update(['assigned_to' => null]); // Remove Variables Models\ServerVariables::where('server_id', $server->id)->delete(); // Remove SubUsers Models\Subuser::where('server_id', $server->id)->delete(); // Remove Permissions Models\Permission::where('server_id', $server->id)->delete(); // Remove Downloads Models\Download::where('server', $server->uuid)->delete(); $client = Models\Node::guzzleRequest($server->node); $client->request('DELETE', '/servers', ['headers' => ['X-Access-Token' => $node->daemonSecret, 'X-Access-Server' => $server->uuid]]); $server->delete(); DB::commit(); return true; } catch (\GuzzleHttp\Exception\TransferException $ex) { if ($force === 'force') { $server->delete(); DB::commit(); return true; } else { DB::rollBack(); throw new DisplayException('An error occured while attempting to delete the server on the daemon.', $ex); } } catch (\Exception $ex) { DB::rollBack(); throw $ex; } }