This commit is contained in:
Andras Bacsai 2024-01-30 17:16:52 +01:00
parent d4668ef44a
commit cc641d8cba

View File

@ -10,10 +10,10 @@ class DeleteService
use AsAction; use AsAction;
public function handle(Service $service) public function handle(Service $service)
{ {
try {
$server = data_get($service, 'server'); $server = data_get($service, 'server');
if ($server->isFunctional()) { if ($server->isFunctional()) {
StopService::run($service); StopService::run($service);
}
$storagesToDelete = collect([]); $storagesToDelete = collect([]);
$service->environment_variables()->delete(); $service->environment_variables()->delete();
@ -23,13 +23,16 @@ class DeleteService
foreach ($storages as $storage) { foreach ($storages as $storage) {
$storagesToDelete->push($storage); $storagesToDelete->push($storage);
} }
$application->forceDelete();
} }
foreach ($service->databases()->get() as $database) { foreach ($service->databases()->get() as $database) {
$storages = $database->persistentStorages()->get(); $storages = $database->persistentStorages()->get();
foreach ($storages as $storage) { foreach ($storages as $storage) {
$storagesToDelete->push($storage); $storagesToDelete->push($storage);
} }
$database->forceDelete();
} }
if ($server->isFunctional()) {
foreach ($storagesToDelete as $storage) { foreach ($storagesToDelete as $storage) {
$commands[] = "docker volume rm -f $storage->name"; $commands[] = "docker volume rm -f $storage->name";
} }
@ -37,16 +40,6 @@ class DeleteService
instant_remote_process($commands, $server, false); instant_remote_process($commands, $server, false);
} }
} catch (\Exception $e) {
throw new \Exception($e->getMessage());
} finally {
foreach ($service->applications()->get() as $application) {
$application->forceDelete();
}
foreach ($service->databases()->get() as $database) {
$database->forceDelete();
}
$service->forceDelete(); $service->forceDelete();
} }
} }
}