From 6e73f7f2e49992a8abb5fc93af9f2d3df7bbf353 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 24 Oct 2023 15:40:29 +0200 Subject: [PATCH] fix: encrypt mongodb password --- app/Models/StandaloneMongodb.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/Models/StandaloneMongodb.php b/app/Models/StandaloneMongodb.php index 6d9158a64..06a6cb537 100644 --- a/app/Models/StandaloneMongodb.php +++ b/app/Models/StandaloneMongodb.php @@ -42,6 +42,20 @@ class StandaloneMongodb extends BaseModel }); } + public function mongoInitdbRootPassword(): Attribute + { + return Attribute::make( + get: function ($value) { + try { + return decrypt($value); + } catch (\Throwable $th) { + $this->mongo_initdb_root_password = encrypt($value); + $this->save(); + return $value; + } + } + ); + } public function portsMappings(): Attribute { return Attribute::make( @@ -63,7 +77,8 @@ class StandaloneMongodb extends BaseModel { return 'standalone-mongodb'; } - public function getDbUrl(bool $useInternal = false) { + public function getDbUrl(bool $useInternal = false) + { if ($this->is_public && !$useInternal) { return "mongodb://{$this->mongo_initdb_root_username}:{$this->mongo_initdb_root_password}@{$this->destination->server->getIp}:{$this->public_port}/?directConnection=true"; } else {