From 1d19ef2e08e92a963211d43c54ebd7de70edfd02 Mon Sep 17 00:00:00 2001 From: Vehikl Date: Thu, 20 Mar 2025 16:38:34 -0400 Subject: [PATCH] update controller & tests --- .../Api/Client/Servers/SettingsController.php | 16 +++++++++------- .../Api/Client/Server/SettingsControllerTest.php | 5 ----- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/app/Http/Controllers/Api/Client/Servers/SettingsController.php b/app/Http/Controllers/Api/Client/Servers/SettingsController.php index 05ad07d60..ee7c61dc8 100644 --- a/app/Http/Controllers/Api/Client/Servers/SettingsController.php +++ b/app/Http/Controllers/Api/Client/Servers/SettingsController.php @@ -52,15 +52,17 @@ class SettingsController extends ClientApiController */ public function description(DescriptionServerRequest $request, Server $server): JsonResponse { - $description = $request->has('description') ? $request->input('description') : $server->description; - - if ($server->description !== $description && config('panel.editable_server_descriptions')) { - $server->update(['description' => $description]); - Activity::event('server:settings.description') - ->property(['old' => $server->description, 'new' => $description]) - ->log(); + if (config('panel.editable_server_descriptions')) { + return new JsonResponse([], Response::HTTP_FORBIDDEN); } + $description = $request->input('description'); + $server->update(['description' => $description ?? '']); + + Activity::event('server:settings.description') + ->property(['old' => $server->getOriginal('description'), 'new' => $description]) + ->log(); + return new JsonResponse([], Response::HTTP_NO_CONTENT); } diff --git a/tests/Integration/Api/Client/Server/SettingsControllerTest.php b/tests/Integration/Api/Client/Server/SettingsControllerTest.php index a0a722651..ded84ce1d 100644 --- a/tests/Integration/Api/Client/Server/SettingsControllerTest.php +++ b/tests/Integration/Api/Client/Server/SettingsControllerTest.php @@ -21,11 +21,9 @@ class SettingsControllerTest extends ClientApiIntegrationTestCase /** @var \App\Models\Server $server */ [$user, $server] = $this->generateTestAccount($permissions); $originalName = $server->name; - $originalDescription = $server->description; $response = $this->actingAs($user)->postJson("/api/client/servers/$server->uuid/settings/rename", [ 'name' => '', - 'description' => '', ]); $response->assertStatus(Response::HTTP_UNPROCESSABLE_ENTITY); @@ -33,18 +31,15 @@ class SettingsControllerTest extends ClientApiIntegrationTestCase $server = $server->refresh(); $this->assertSame($originalName, $server->name); - $this->assertSame($originalDescription, $server->description); $this->actingAs($user) ->postJson("/api/client/servers/$server->uuid/settings/rename", [ 'name' => 'Test Server Name', - 'description' => 'This is a test server.', ]) ->assertStatus(Response::HTTP_NO_CONTENT); $server = $server->refresh(); $this->assertSame('Test Server Name', $server->name); - $this->assertSame('This is a test server.', $server->description); } /**