diff options
Diffstat (limited to 'app/services/service_desk_settings/update_service.rb')
-rw-r--r-- | app/services/service_desk_settings/update_service.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/app/services/service_desk_settings/update_service.rb b/app/services/service_desk_settings/update_service.rb new file mode 100644 index 00000000000..08106b04d18 --- /dev/null +++ b/app/services/service_desk_settings/update_service.rb @@ -0,0 +1,19 @@ +# 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 + + if settings.update(params) + success + else + error(settings.errors.full_messages.to_sentence) + end + end + end +end |