From 78031b991ac3d1fa8579ef9256ef0e43d79a79b7 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Mon, 13 Oct 2025 10:44:06 +0200 Subject: [PATCH] fix: allow all environment variable fields in API endpoints MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #6847 The API endpoints for environment variables were rejecting valid fields like is_buildtime, is_runtime, is_multiline, and is_shown_once with 422 errors, even though the code was using these fields internally. Changes: - Added missing fields to $allowedFields in create_env() - Added missing fields to $allowedFields in update_env_by_uuid() - Updated allowed fields in create_bulk_envs() - Added validation rules for is_runtime and is_buildtime 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- app/Http/Controllers/Api/ApplicationsController.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Api/ApplicationsController.php b/app/Http/Controllers/Api/ApplicationsController.php index 065d7f767..f93ecf310 100644 --- a/app/Http/Controllers/Api/ApplicationsController.php +++ b/app/Http/Controllers/Api/ApplicationsController.php @@ -2492,7 +2492,7 @@ public function envs(Request $request) )] public function update_env_by_uuid(Request $request) { - $allowedFields = ['key', 'value', 'is_preview', 'is_literal']; + $allowedFields = ['key', 'value', 'is_preview', 'is_literal', 'is_multiline', 'is_shown_once', 'is_runtime', 'is_buildtime']; $teamId = getTeamIdFromToken(); if (is_null($teamId)) { @@ -2520,6 +2520,8 @@ public function update_env_by_uuid(Request $request) 'is_literal' => 'boolean', 'is_multiline' => 'boolean', 'is_shown_once' => 'boolean', + 'is_runtime' => 'boolean', + 'is_buildtime' => 'boolean', ]); $extraFields = array_diff(array_keys($request->all()), $allowedFields); @@ -2715,7 +2717,7 @@ public function create_bulk_envs(Request $request) ], 400); } $bulk_data = collect($bulk_data)->map(function ($item) { - return collect($item)->only(['key', 'value', 'is_preview', 'is_literal']); + return collect($item)->only(['key', 'value', 'is_preview', 'is_literal', 'is_multiline', 'is_shown_once', 'is_runtime', 'is_buildtime']); }); $returnedEnvs = collect(); foreach ($bulk_data as $item) { @@ -2726,6 +2728,8 @@ public function create_bulk_envs(Request $request) 'is_literal' => 'boolean', 'is_multiline' => 'boolean', 'is_shown_once' => 'boolean', + 'is_runtime' => 'boolean', + 'is_buildtime' => 'boolean', ]); if ($validator->fails()) { return response()->json([ @@ -2885,7 +2889,7 @@ public function create_bulk_envs(Request $request) )] public function create_env(Request $request) { - $allowedFields = ['key', 'value', 'is_preview', 'is_literal']; + $allowedFields = ['key', 'value', 'is_preview', 'is_literal', 'is_multiline', 'is_shown_once', 'is_runtime', 'is_buildtime']; $teamId = getTeamIdFromToken(); if (is_null($teamId)) { @@ -2908,6 +2912,8 @@ public function create_env(Request $request) 'is_literal' => 'boolean', 'is_multiline' => 'boolean', 'is_shown_once' => 'boolean', + 'is_runtime' => 'boolean', + 'is_buildtime' => 'boolean', ]); $extraFields = array_diff(array_keys($request->all()), $allowedFields);