From 5dad419f6036c6dd105e64bc410933336ef2fd05 Mon Sep 17 00:00:00 2001 From: Chaim Lev-Ari Date: Sun, 26 Nov 2023 07:01:58 +0200 Subject: [PATCH] fix(swarm/services): avoid sending credSpec object when empty [EE-6322] (#10636) Co-authored-by: matias-portainer <104775949+matias-portainer@users.noreply.github.com> --- app/docker/views/services/edit/serviceController.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/docker/views/services/edit/serviceController.js b/app/docker/views/services/edit/serviceController.js index c61e119a5..21fd3e2ce 100644 --- a/app/docker/views/services/edit/serviceController.js +++ b/app/docker/views/services/edit/serviceController.js @@ -474,7 +474,7 @@ angular.module('portainer.docker').controller('ServiceController', [ ''; if (oldCredSpecId && !credSpecId) { delete config.TaskTemplate.ContainerSpec.Privileges.CredentialSpec; - } else if (oldCredSpecId !== credSpec) { + } else if (credSpec && oldCredSpecId !== credSpec) { config.TaskTemplate.ContainerSpec.Privileges = { ...(config.TaskTemplate.ContainerSpec.Privileges || {}), CredentialSpec: { @@ -854,6 +854,10 @@ angular.module('portainer.docker').controller('ServiceController', [ $scope.filterConfigs = filterConfigs; function filterConfigs(configs) { + if (!configs) { + return []; + } + return configs.filter((config) => $scope.service.ServiceConfigs.every((serviceConfig) => config.Id !== serviceConfig.Id)); }