Add activity logging to most of the endpoints

This commit is contained in:
DaneEveritt 2022-05-29 19:26:28 -04:00
parent 287fd60891
commit 9b7af02690
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
11 changed files with 170 additions and 30 deletions

View file

@ -5,6 +5,7 @@ namespace Pterodactyl\Http\Controllers\Api\Client\Servers;
use Illuminate\Http\Response;
use Pterodactyl\Models\Server;
use Illuminate\Http\JsonResponse;
use Pterodactyl\Facades\Activity;
use Pterodactyl\Repositories\Eloquent\ServerRepository;
use Pterodactyl\Services\Servers\ReinstallServerService;
use Pterodactyl\Http\Controllers\Api\Client\ClientApiController;
@ -52,6 +53,12 @@ class SettingsController extends ClientApiController
'name' => $request->input('name'),
]);
if ($server->name !== $request->input('name')) {
Activity::event('server:settings.rename')
->property(['old' => $server->name, 'new' => $request->input('name')])
->log();
}
return new JsonResponse([], Response::HTTP_NO_CONTENT);
}
@ -66,6 +73,8 @@ class SettingsController extends ClientApiController
{
$this->reinstallServerService->handle($server);
Activity::event('server:reinstall')->log();
return new JsonResponse([], Response::HTTP_ACCEPTED);
}
@ -82,8 +91,15 @@ class SettingsController extends ClientApiController
throw new BadRequestHttpException('This server\'s Docker image has been manually set by an administrator and cannot be updated.');
}
$original = $server->image;
$server->forceFill(['image' => $request->input('docker_image')])->saveOrFail();
if ($original !== $server->image) {
Activity::event('server:startup.image')
->property(['old' => $original, 'new' => $request->input('docker_image')])
->log();
}
return new JsonResponse([], Response::HTTP_NO_CONTENT);
}
}