merge_request_dashboard_data

in app/helpers/merge_requests_helper.rb [582:714]


  def merge_request_dashboard_data
    is_author_or_assignee = ::Feature.enabled?(:merge_request_dashboard_author_or_assignee, current_user,
      type: :gitlab_com_derisk)

    if Feature.enabled?(:mr_dashboard_list_type_toggle, current_user, type: :beta) &&
        current_user.merge_request_dashboard_list_type == 'role_based'
      return merge_request_dashboard_role_based_data
    end

    {
      tabs: [
        {
          title: s_('MergeRequestsTab|Active'),
          key: '',
          lists: [
            [
              {
                id: 'returned_to_you',
                title: _('Returned to you'),
                helpContent: _('Reviewers left feedback, or requested changes from you, on these merge requests.'),
                query: is_author_or_assignee ? 'authorOrAssigneeMergeRequests' : 'assignedMergeRequests',
                variables: {
                  reviewStates: %w[REVIEWED REQUESTED_CHANGES],
                  ignoredReviewerUsername: ::Users::Internal.duo_code_review_bot.username
                }
              },
              {
                id: 'reviews_requested',
                title: _('Review requested'),
                helpContent: _('These merge requests need a review from you.'),
                query: 'reviewRequestedMergeRequests',
                variables: {
                  reviewStates: %w[UNAPPROVED UNREVIEWED REVIEW_STARTED]
                }
              },
              {
                id: 'assigned_to_you',
                title: is_author_or_assignee ? _('Your merge requests') : _('Assigned to you'),

                helpContent: if is_author_or_assignee
                               _("Merge requests you authored or are assigned to, " \
                                 "without reviewers.")
                             else
                               _("You're assigned to these merge requests, but they don't have reviewers yet.")
                             end,

                query: is_author_or_assignee ? 'authorOrAssigneeMergeRequests' : 'assignedMergeRequests',
                variables: {
                  or: {
                    reviewerWildcard: 'NONE',
                    onlyReviewerUsername: ::Users::Internal.duo_code_review_bot.username
                  }
                }
              }
            ],
            [
              {
                id: 'waiting_for_assignee',
                title: is_author_or_assignee ? _('Waiting for author or assignee') : _('Waiting for assignee'),
                hideCount: true,
                helpContent: _(
                  "Your reviews you've requested changes for " \
                    "or commented on."
                ),
                query: 'reviewRequestedMergeRequests',
                variables: {
                  reviewStates: %w[REVIEWED REQUESTED_CHANGES]
                }
              },
              {
                id: 'waiting_for_approvals',
                title: _('Waiting for approvals'),
                hideCount: true,
                helpContent: _('Your merge requests that are waiting for approvals.'),
                query: is_author_or_assignee ? 'authorOrAssigneeMergeRequests' : 'assignedMergeRequests',
                variables: {
                  ignoredReviewerUsername: ::Users::Internal.duo_code_review_bot.username,
                  reviewStates: %w[UNREVIEWED UNAPPROVED REVIEW_STARTED],
                  not: {
                    reviewStates: %w[REQUESTED_CHANGES REVIEWED]
                  }
                }
              },
              {
                id: 'approved_by_you',
                title: _('Approved by you'),
                hideCount: true,
                helpContent: _("You've reviewed and approved these merge requests."),
                query: 'reviewRequestedMergeRequests',
                variables: {
                  reviewState: 'APPROVED'
                }
              },
              {
                id: 'approved_by_others',
                title: _('Approved by others'),
                hideCount: true,
                helpContent: _('Your merge requests with approvals by all assigned reviewers.'),
                query: is_author_or_assignee ? 'authorOrAssigneeMergeRequests' : 'assignedMergeRequests',
                variables: {
                  ignoredReviewerUsername: ::Users::Internal.duo_code_review_bot.username,
                  reviewState: 'APPROVED',
                  not: {
                    reviewStates: %w[REQUESTED_CHANGES REVIEWED UNREVIEWED REVIEW_STARTED UNAPPROVED]
                  }
                }
              }
            ]
          ]
        },
        {
          title: s_('MergeRequestsTab|Merged'),
          key: 'merged',
          lists: [
            [{
              id: 'merged_recently',
              title: _('Merged recently'),
              helpContent: _('These merge requests merged after %{date}. You were an assignee or a reviewer.') % {
                date: l(2.weeks.ago.to_date, format: :long)
              },
              query: 'assigneeOrReviewerMergeRequests',
              variables: {
                state: 'merged',
                mergedAfter: 2.weeks.ago.to_time.iso8601,
                sort: 'MERGED_AT_DESC'
              }
            }]
          ]
        }
      ]
    }
  end