From 0d12b8296e4d4f91517a4a7d4518df2b169787de Mon Sep 17 00:00:00 2001 From: "Gauthier A." Date: Mon, 17 Feb 2025 23:10:21 +0100 Subject: [PATCH] fix wrong database container name + code simplification --- app/Actions/Database/StartDatabaseProxy.php | 68 ++++----------------- 1 file changed, 11 insertions(+), 57 deletions(-) diff --git a/app/Actions/Database/StartDatabaseProxy.php b/app/Actions/Database/StartDatabaseProxy.php index d9272356c..14be9d2bc 100644 --- a/app/Actions/Database/StartDatabaseProxy.php +++ b/app/Actions/Database/StartDatabaseProxy.php @@ -22,74 +22,28 @@ class StartDatabaseProxy public function handle(StandaloneRedis|StandalonePostgresql|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|StandaloneDragonfly|StandaloneClickhouse|ServiceDatabase $database) { - $internalPort = null; - $type = $database->getMorphClass(); + $databaseType = $database->database_type; $network = data_get($database, 'destination.network'); $server = data_get($database, 'destination.server'); $containerName = data_get($database, 'uuid'); $proxyContainerName = "{$database->uuid}-proxy"; + if ($database->getMorphClass() === \App\Models\ServiceDatabase::class) { $databaseType = $database->databaseType(); // $connectPredefined = data_get($database, 'service.connect_to_docker_network'); $network = $database->service->uuid; $server = data_get($database, 'service.destination.server'); $proxyContainerName = "{$database->service->uuid}-proxy"; - switch ($databaseType) { - case 'standalone-mariadb': - $type = \App\Models\StandaloneMariadb::class; - $containerName = "mariadb-{$database->service->uuid}"; - break; - case 'standalone-mongodb': - $type = \App\Models\StandaloneMongodb::class; - $containerName = "mongodb-{$database->service->uuid}"; - break; - case 'standalone-mysql': - $type = \App\Models\StandaloneMysql::class; - $containerName = "mysql-{$database->service->uuid}"; - break; - case 'standalone-postgresql': - $type = \App\Models\StandalonePostgresql::class; - $containerName = "postgresql-{$database->service->uuid}"; - break; - case 'standalone-redis': - $type = \App\Models\StandaloneRedis::class; - $containerName = "redis-{$database->service->uuid}"; - break; - case 'standalone-keydb': - $type = \App\Models\StandaloneKeydb::class; - $containerName = "keydb-{$database->service->uuid}"; - break; - case 'standalone-dragonfly': - $type = \App\Models\StandaloneDragonfly::class; - $containerName = "dragonfly-{$database->service->uuid}"; - break; - case 'standalone-clickhouse': - $type = \App\Models\StandaloneClickhouse::class; - $containerName = "clickhouse-{$database->service->uuid}"; - break; - case 'standalone-supabase/postgres': - $type = \App\Models\StandalonePostgresql::class; - $containerName = "supabase-db-{$database->service->uuid}"; - break; - } - } - if ($type === \App\Models\StandaloneRedis::class) { - $internalPort = 6379; - } elseif ($type === \App\Models\StandalonePostgresql::class) { - $internalPort = 5432; - } elseif ($type === \App\Models\StandaloneMongodb::class) { - $internalPort = 27017; - } elseif ($type === \App\Models\StandaloneMysql::class) { - $internalPort = 3306; - } elseif ($type === \App\Models\StandaloneMariadb::class) { - $internalPort = 3306; - } elseif ($type === \App\Models\StandaloneKeydb::class) { - $internalPort = 6379; - } elseif ($type === \App\Models\StandaloneDragonfly::class) { - $internalPort = 6379; - } elseif ($type === \App\Models\StandaloneClickhouse::class) { - $internalPort = 9000; + $containerName = "{$database->name}-{$database->service->uuid}"; } + + $internalPort = match ($databaseType) { + 'standalone-mariadb', 'standalone-mysql' => 3306, + 'standalone-postgresql', 'standalone-supabase/postgres' => 5432, + 'standalone-redis', 'standalone-keydb', 'standalone-dragonfly' => 6379, + 'standalone-clickhouse' => 9000, + }; + $configuration_dir = database_proxy_dir($database->uuid); $nginxconf = <<