summaryrefslogtreecommitdiff
path: root/lib/api/integrations.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-01-20 09:16:11 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-01-20 09:16:11 +0000
commitedaa33dee2ff2f7ea3fac488d41558eb5f86d68c (patch)
tree11f143effbfeba52329fb7afbd05e6e2a3790241 /lib/api/integrations.rb
parentd8a5691316400a0f7ec4f83832698f1988eb27c1 (diff)
downloadgitlab-ce-edaa33dee2ff2f7ea3fac488d41558eb5f86d68c.tar.gz
Add latest changes from gitlab-org/gitlab@14-7-stable-eev14.7.0-rc42
Diffstat (limited to 'lib/api/integrations.rb')
-rw-r--r--lib/api/integrations.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/api/integrations.rb b/lib/api/integrations.rb
index bab8e556a73..ff1d88e35f0 100644
--- a/lib/api/integrations.rb
+++ b/lib/api/integrations.rb
@@ -111,7 +111,14 @@ module API
integration = user_project.find_or_initialize_integration(params[:slug].underscore)
destroy_conditionally!(integration) do
- attrs = integration_attributes(integration).index_with { nil }.merge(active: false)
+ attrs = integration_attributes(integration).index_with do |attr|
+ column = integration.column_for_attribute(attr)
+ if column.is_a?(ActiveRecord::ConnectionAdapters::NullColumn)
+ nil
+ else
+ column.default
+ end
+ end.merge(active: false)
render_api_error!('400 Bad Request', 400) unless integration.update(attrs)
end