ui(files): add pull file modal

This commit is contained in:
Matthew Penner 2021-07-25 13:24:52 -06:00
parent 01242a805d
commit 3c2a6e1136
14 changed files with 211 additions and 42 deletions

View file

@ -247,15 +247,19 @@ class FileController extends ClientApiController
/**
* Updates file permissions for file(s) in the given root directory.
*
* @throws \Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException
* @throws \Throwable
*/
public function chmod(ChmodFilesRequest $request, Server $server): Response
{
$this->fileRepository->setServer($server)
->chmodFiles(
$request->input('root'),
$request->input('files')
);
$server->audit(AuditLog::SERVER__FILESYSTEM_CHMOD, function (AuditLog $audit, Server $server) use ($request) {
$audit->metadata = ['directory' => $request->input('root'), 'files' => $request->input('files')];
$this->fileRepository->setServer($server)
->chmodFiles(
$request->input('root'),
$request->input('files'),
);
});
return $this->returnNoContent();
}
@ -268,9 +272,13 @@ class FileController extends ClientApiController
public function pull(PullFileRequest $request, Server $server): Response
{
$server->audit(AuditLog::SERVER__FILESYSTEM_PULL, function (AuditLog $audit, Server $server) use ($request) {
$audit->metadata = ['directory' => $request->input('directory'), 'url' => $request->input('url')];
$audit->metadata = ['directory' => $request->input('root'), 'url' => $request->input('url')];
$this->fileRepository->setServer($server)->pull($request->input('url'), $request->input('directory'));
$this->fileRepository->setServer($server)
->pull(
$request->input('root'),
$request->input('url'),
);
});
return $this->returnNoContent();

View file

@ -19,8 +19,8 @@ class PullFileRequest extends ClientApiRequest implements ClientPermissionsReque
public function rules(): array
{
return [
'root' => 'sometimes|nullable|string',
'url' => 'required|string|url',
'directory' => 'sometimes|nullable|string',
];
}
}

View file

@ -34,6 +34,9 @@ class AssetComposer
'siteKey' => config('recaptcha.website_key') ?? '',
],
'analytics' => config('app.analytics') ?? '',
'features' => [
'pullFiles' => config('features.pull_files'),
],
]);
}
}