fix: service deletion bug!

This commit is contained in:
Andras Bacsai 2024-01-17 15:48:01 +01:00
parent 1e158badfc
commit af01bc3e77
3 changed files with 11 additions and 4 deletions

View File

@ -10,8 +10,10 @@ class DeleteService
use AsAction; use AsAction;
public function handle(Service $service) public function handle(Service $service)
{ {
StopService::run($service);
$server = data_get($service, 'server'); $server = data_get($service, 'server');
if ($server->isFunctional()) {
StopService::run($service);
}
$storagesToDelete = collect([]); $storagesToDelete = collect([]);
$service->environment_variables()->delete(); $service->environment_variables()->delete();

View File

@ -31,11 +31,16 @@ class DeleteResourceJob implements ShouldQueue, ShouldBeEncrypted
{ {
try { try {
$server = $this->resource->destination->server; $server = $this->resource->destination->server;
$this->resource->delete();
if (!$server->isFunctional()) { if (!$server->isFunctional()) {
if ($this->resource->type() === 'service') {
ray('dispatching delete service');
DeleteService::dispatch($this->resource);
} else {
$this->resource->forceDelete(); $this->resource->forceDelete();
}
return 'Server is not functional'; return 'Server is not functional';
} }
$this->resource->delete();
switch ($this->resource->type()) { switch ($this->resource->type()) {
case 'application': case 'application':
StopApplication::run($this->resource); StopApplication::run($this->resource);

View File

@ -198,7 +198,7 @@ class Server extends BaseModel
foreach ($this->databases() as $database) { foreach ($this->databases() as $database) {
$database->update(['status' => 'exited']); $database->update(['status' => 'exited']);
} }
foreach ($this->services() as $service) { foreach ($this->services()->get() as $service) {
$apps = $service->applications()->get(); $apps = $service->applications()->get();
$dbs = $service->databases()->get(); $dbs = $service->databases()->get();
foreach ($apps as $app) { foreach ($apps as $app) {