From 38a22dcf4d72e014c6ef6a22c2d9e0362120c642 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Thu, 28 Sep 2023 22:20:49 +0200 Subject: [PATCH] fix: service templates --- app/Console/Commands/SyncBunny.php | 8 ++++---- app/Http/Controllers/ProjectController.php | 7 ++++--- app/Http/Livewire/Project/New/Select.php | 23 ++-------------------- bootstrap/helpers/shared.php | 15 ++++++++++++++ 4 files changed, 25 insertions(+), 28 deletions(-) diff --git a/app/Console/Commands/SyncBunny.php b/app/Console/Commands/SyncBunny.php index 6b68a6519..a64da5a35 100644 --- a/app/Console/Commands/SyncBunny.php +++ b/app/Console/Commands/SyncBunny.php @@ -48,15 +48,15 @@ class SyncBunny extends Command $versions = "versions.json"; - PendingRequest::macro('storage', function ($fileName) use($that) { + PendingRequest::macro('storage', function ($file) use($that) { $headers = [ 'AccessKey' => env('BUNNY_STORAGE_API_KEY'), 'Accept' => 'application/json', 'Content-Type' => 'application/octet-stream' ]; - $fileStream = fopen($fileName, "r"); - $file = fread($fileStream, filesize($fileName)); - $that->info('Uploading: ' . $fileName); + $fileStream = fopen($file, "r"); + $file = fread($fileStream, filesize($file)); + $that->info('Uploading: ' . $file); return PendingRequest::baseUrl('https://storage.bunnycdn.com')->withHeaders($headers)->withBody($file)->throw(); }); PendingRequest::macro('purge', function ($url) use ($that) { diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php index 48bf7909e..0e4c0e2c7 100644 --- a/app/Http/Controllers/ProjectController.php +++ b/app/Http/Controllers/ProjectController.php @@ -45,10 +45,10 @@ class ProjectController extends Controller public function new() { - $services = Cache::get('services', []); + $services = getServiceTemplates(); $type = Str::of(request()->query('type')); $destination_uuid = request()->query('destination'); - $server_id = request()->query('server'); + $server_id = request()->query('server_id'); $project = currentTeam()->load(['projects'])->projects->where('uuid', request()->route('project_uuid'))->first(); if (!$project) { @@ -66,9 +66,10 @@ class ProjectController extends Controller 'database_uuid' => $standalone_postgresql->uuid, ]); } - if ($type->startsWith('one-click-service-')) { + if ($type->startsWith('one-click-service-') && !is_null( (int)$server_id)) { $oneClickServiceName = $type->after('one-click-service-')->value(); $oneClickService = data_get($services, "$oneClickServiceName.compose"); + ray($oneClickServiceName); $oneClickDotEnvs = data_get($services, "$oneClickServiceName.envs", null); if ($oneClickDotEnvs) { $oneClickDotEnvs = Str::of(base64_decode($oneClickDotEnvs))->split('/\r\n|\r|\n/'); diff --git a/app/Http/Livewire/Project/New/Select.php b/app/Http/Livewire/Project/New/Select.php index 945c646df..4a40c6b35 100644 --- a/app/Http/Livewire/Project/New/Select.php +++ b/app/Http/Livewire/Project/New/Select.php @@ -60,28 +60,9 @@ class Select extends Component if ($forceReload) { Cache::forget('services'); } - if (isDev()) { - $cached = Cache::remember('services', 3600, function () { - $services = File::get(base_path('templates/service-templates.json')); - $services = collect(json_decode($services))->sortKeys(); - $this->emit('success', 'Successfully reloaded services from filesystem (development mode).'); - return $services; - }); - } else { - $cached = Cache::remember('services', 3600, function () { - $services = Http::get(config('constants.services.official')); - if ($services->failed()) { - throw new \Exception($services->body()); - } - - $services = collect($services->json())->sortKeys(); - $this->emit('success', 'Successfully reloaded services from the internet.'); - return $services; - }); - } - $this->services = $cached; + $this->services = getServiceTemplates(); + $this->emit('success', 'Successfully loaded services.'); } catch (\Throwable $e) { - ray($e); return handleError($e, $this); } finally { $this->loadingServices = false; diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php index 946fa198f..5c19b408d 100644 --- a/bootstrap/helpers/shared.php +++ b/bootstrap/helpers/shared.php @@ -406,3 +406,18 @@ function sslip(Server $server) } return "{$server->ip}.sslip.io"; } + +function getServiceTemplates() +{ + if (isDev()) { + $services = File::get(base_path('templates/service-templates.json')); + $services = collect(json_decode($services))->sortKeys(); + } else { + $services = Http::get(config('constants.services.official')); + if ($services->failed()) { + throw new \Exception($services->body()); + } + $services = collect($services->json())->sortKeys(); + } + return $services; +}