From 217541a98776271066128fbc0a27332b6af387e1 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Wed, 3 Jun 2026 13:48:31 +0200 Subject: [PATCH] fix(api): allow disabling build server mode --- app/Http/Controllers/Api/ServersController.php | 4 ++-- tests/Feature/ServerUpdatePrivateKeyApiTest.php | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/ServersController.php b/app/Http/Controllers/Api/ServersController.php index 5082bd856..e43026a72 100644 --- a/app/Http/Controllers/Api/ServersController.php +++ b/app/Http/Controllers/Api/ServersController.php @@ -726,9 +726,9 @@ public function update_server(Request $request) } $server->update($updateFields); - if ($request->is_build_server) { + if ($request->has('is_build_server')) { $server->settings()->update([ - 'is_build_server' => $request->is_build_server, + 'is_build_server' => $request->boolean('is_build_server'), ]); } diff --git a/tests/Feature/ServerUpdatePrivateKeyApiTest.php b/tests/Feature/ServerUpdatePrivateKeyApiTest.php index a6e407168..8bc5f1d0e 100644 --- a/tests/Feature/ServerUpdatePrivateKeyApiTest.php +++ b/tests/Feature/ServerUpdatePrivateKeyApiTest.php @@ -93,6 +93,17 @@ function patchServerUpdatePrivateKeyApi(object $test, Server $server, string $be ->and($server->private_key_id)->toBe($this->oldPrivateKey->id); }); +it('can disable build server mode via API', function () { + $this->server->settings()->update(['is_build_server' => true]); + + patchServerUpdatePrivateKeyApi($this, $this->server, $this->bearerToken, [ + 'is_build_server' => false, + ])->assertCreated() + ->assertJson(['uuid' => $this->server->uuid]); + + expect($this->server->settings->fresh()->is_build_server)->toBeFalse(); +}); + it('rejects an invalid disk usage check frequency without partially updating the server', function () { $this->server->proxy->set('type', 'TRAEFIK'); $this->server->save();