mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-19 18:01:37 +00:00
fix server not having default service (#100)
This commit is contained in:
parent
2214a76e09
commit
3da1f4fe4c
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
use App\Contracts\ServerType;
|
use App\Contracts\ServerType;
|
||||||
use App\Enums\ServerStatus;
|
use App\Enums\ServerStatus;
|
||||||
|
use App\Enums\ServiceStatus;
|
||||||
use App\Facades\Notifier;
|
use App\Facades\Notifier;
|
||||||
use App\Facades\SSH;
|
use App\Facades\SSH;
|
||||||
use App\Jobs\Installation\Upgrade;
|
use App\Jobs\Installation\Upgrade;
|
||||||
@ -227,6 +228,18 @@ public function defaultService($type): ?Service
|
|||||||
->where('is_default', 1)
|
->where('is_default', 1)
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
|
// If no default service found, get the first service with status ready or stopped
|
||||||
|
if (! $service) {
|
||||||
|
$service = $this->services()
|
||||||
|
->where('type', $type)
|
||||||
|
->whereIn('status', [ServiceStatus::READY, ServiceStatus::STOPPED])
|
||||||
|
->first();
|
||||||
|
if ($service) {
|
||||||
|
$service->is_default = 1;
|
||||||
|
$service->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $service;
|
return $service;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
20
tests/Feature/Models/ServerModelTest.php
Normal file
20
tests/Feature/Models/ServerModelTest.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\Feature\Models;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
class ServerModelTest extends TestCase
|
||||||
|
{
|
||||||
|
use RefreshDatabase;
|
||||||
|
|
||||||
|
public function test_should_have_default_service()
|
||||||
|
{
|
||||||
|
$php = $this->server->defaultService('php');
|
||||||
|
$php->update(['is_default' => false]);
|
||||||
|
$this->assertNotNull($this->server->defaultService('php'));
|
||||||
|
$php->refresh();
|
||||||
|
$this->assertTrue($php->is_default);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user