Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-02-25 12:10:45 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-02-25 12:10:45 +0300
commitbcfab67c0f33aeda96041f341f92cf0ff1e062d3 (patch)
tree2d3a9c5ccd7693112ed48d410a9a940f6a1fa8de /app/services/boards/base_items_list_service.rb
parentc1ccb69fc9b1f07a00d3310f5fbd2e4622db9482 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services/boards/base_items_list_service.rb')
-rw-r--r--app/services/boards/base_items_list_service.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/app/services/boards/base_items_list_service.rb b/app/services/boards/base_items_list_service.rb
index 851120ef597..5aebf216460 100644
--- a/app/services/boards/base_items_list_service.rb
+++ b/app/services/boards/base_items_list_service.rb
@@ -11,8 +11,24 @@ module Boards
ordered_items
end
+ # rubocop: disable CodeReuse/ActiveRecord
+ def metadata
+ issuables = item_model.arel_table
+ keys = metadata_fields.keys
+ # TODO: eliminate need for SQL literal fragment
+ columns = Arel.sql(metadata_fields.values_at(*keys).join(', '))
+ results = item_model.where(id: items.select(issuables[:id])).pluck(columns)
+
+ Hash[keys.zip(results.flatten)]
+ end
+ # rubocop: enable CodeReuse/ActiveRecord
+
private
+ def metadata_fields
+ { size: 'COUNT(*)' }
+ end
+
def ordered_items
raise NotImplementedError
end