diff --git a/app/controllers/api/v1/issues/issue_tags_controller.rb b/app/controllers/api/v1/issues/issue_tags_controller.rb index 077ac1474..2a5038e63 100644 --- a/app/controllers/api/v1/issues/issue_tags_controller.rb +++ b/app/controllers/api/v1/issues/issue_tags_controller.rb @@ -9,7 +9,7 @@ class Api::V1::Issues::IssueTagsController < Api::V1::BaseController if params[:only_name] @issue_tags = kaminary_select_paginate(@issue_tags.select(:id, :name, :color)) else - @issue_tags = kaminari_paginate(@issue_tags.includes(:project, :user)) + @issue_tags = kaminari_paginate(@issue_tags.includes(:project, :user, :issue_issues, :pull_request_issues)) end end diff --git a/app/models/issue_tag.rb b/app/models/issue_tag.rb index 787b72bca..5381da9be 100644 --- a/app/models/issue_tag.rb +++ b/app/models/issue_tag.rb @@ -23,6 +23,8 @@ class IssueTag < ApplicationRecord has_many :issue_tags_relates, dependent: :destroy has_many :issues, through: :issue_tags_relates + has_many :issue_issues, -> {where(issue_classify: [nil,"issue"])}, source: :issue, through: :issue_tags_relates + has_many :pull_request_issues, -> {where(issue_classify: "pull_request")}, source: :issue, through: :issue_tags_relates belongs_to :project, optional: true, counter_cache: true belongs_to :user, optional: true diff --git a/app/views/api/v1/issues/index.json.jbuilder b/app/views/api/v1/issues/index.json.jbuilder index 50165b60b..8d9861f24 100644 --- a/app/views/api/v1/issues/index.json.jbuilder +++ b/app/views/api/v1/issues/index.json.jbuilder @@ -1,4 +1,4 @@ -json.total_issues_count @opened_issues_count +json.total_issues_count @total_issues_count json.opened_count @opened_issues_count json.closed_count @closed_issues_count json.total_count @issues.total_count diff --git a/app/views/api/v1/issues/issue_tags/_detail.json.jbuilder b/app/views/api/v1/issues/issue_tags/_detail.json.jbuilder index 332e47373..43daf1a4a 100644 --- a/app/views/api/v1/issues/issue_tags/_detail.json.jbuilder +++ b/app/views/api/v1/issues/issue_tags/_detail.json.jbuilder @@ -1,4 +1,6 @@ -json.(tag,:id, :name, :description, :color, :issues_count) +json.(tag,:id, :name, :description, :color) +json.issues_count tag.issue_issues.size +json.pull_requests_count tag.pull_request_issues.size json.project do if tag.project.present? json.partial! "api/v1/projects/simple_detail", project: tag.project