summaryrefslogtreecommitdiff
path: root/app/services/service_desk_settings/update_service.rb
blob: c837b75f4392711a18abcde1f5070905374cbaa9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# frozen_string_literal: true

module ServiceDeskSettings
  class UpdateService < BaseService
    def execute
      settings = ServiceDeskSetting.safe_find_or_create_by!(project_id: project.id)

      unless ::Feature.enabled?(:service_desk_custom_address, project)
        params.delete(:project_key)
      end

      params[:project_key] = nil if params[:project_key].blank?

      if settings.update(params)
        success
      else
        error(settings.errors.full_messages.to_sentence)
      end
    end
  end
end