diff options
Diffstat (limited to 'app/services/boards/lists/update_service.rb')
-rw-r--r-- | app/services/boards/lists/update_service.rb | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/app/services/boards/lists/update_service.rb b/app/services/boards/lists/update_service.rb index 2ddeb6f0bd8..35ce81d9968 100644 --- a/app/services/boards/lists/update_service.rb +++ b/app/services/boards/lists/update_service.rb @@ -5,15 +5,23 @@ module Boards class UpdateService < Boards::BaseService def execute(list) return not_authorized if preferences? && !can_read?(list) - return not_authorized if position? && !can_admin?(list) + return not_authorized if list_properties? && !can_admin?(list) - if update_preferences(list) || update_position(list) + if execute_by_params(list) success(list: list) else error(list.errors.messages, 422) end end + def execute_by_params(list) + update_preferences(list) || update_position(list) + end + + def list_properties? + position? + end + def update_preferences(list) return unless preferences? |