merge_request_dashboard_role_based_data

in app/helpers/merge_requests_helper.rb [478:581]


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

    {
      tabs: [
        {
          title: s_('MergeRequestsTab|Active'),
          key: '',
          lists: [
            [
              {
                id: 'reviews',
                title: _('Reviewer (Active)'),
                helpContent: _('Merge requests awaiting your review.'),
                query: 'reviewRequestedMergeRequests',
                variables: {
                  reviewStates: %w[UNREVIEWED REVIEW_STARTED UNAPPROVED],
                  perPage: 10
                }
              },
              {
                id: 'reviews_inactive',
                title: _('Reviewer (Inactive)'),
                hideCount: true,
                helpContent: _("Merge requests you've reviewed."),
                query: 'reviewRequestedMergeRequests',
                variables: {
                  reviewStates: %w[APPROVED REQUESTED_CHANGES REVIEWED],
                  perPage: 10
                }
              },
              {
                id: 'assigned',
                title: _('Your merge requests (Active)'),
                helpContent: _(
                  "Your merge requests that need reviewers assigned, " \
                    "or has feedback to address."
                ),
                query: is_author_or_assignee ? 'authorOrAssigneeMergeRequests' : 'assignedMergeRequests',
                variables: {
                  or: {
                    reviewerWildcard: "NONE",
                    onlyReviewerUsername: ::Users::Internal.duo_code_review_bot.username,
                    reviewStates: %w[REVIEWED REQUESTED_CHANGES]
                  },
                  perPage: 10
                }
              },
              {
                id: 'assigned_inactive',
                title: _('Your merge requests (Inactive)'),
                hideCount: true,
                helpContent: _(
                  "Your merge requests awaiting approvals, " \
                    "or has been approved by all assigned reviewers."
                ),
                query: is_author_or_assignee ? 'authorOrAssigneeMergeRequests' : 'assignedMergeRequests',
                variables: {
                  reviewStates: %w[APPROVED UNAPPROVED UNREVIEWED REVIEW_STARTED],
                  not: {
                    reviewStates: %w[REQUESTED_CHANGES REVIEWED]
                  },
                  ignoredReviewerUsername: ::Users::Internal.duo_code_review_bot.username,
                  perPage: 10
                }
              }
            ]
          ]
        },
        {
          title: s_('MergeRequestsTab|Merged'),
          key: 'merged',
          lists: [
            [
              {
                id: 'merged_recently_reviews',
                title: _('Reviews'),
                helpContent: _('Your review requests that have been merged.'),
                query: 'reviewRequestedMergeRequests',
                variables: {
                  state: 'merged',
                  mergedAfter: 2.weeks.ago.to_time.iso8601,
                  sort: 'MERGED_AT_DESC'
                }
              },
              {
                id: 'merged_recently_assigned',
                title: _('Assigned'),
                helpContent: _('Your merge requests that have been merged.'),
                query: is_author_or_assignee ? 'authorOrAssigneeMergeRequests' : 'assignedMergeRequests',
                variables: {
                  state: 'merged',
                  mergedAfter: 2.weeks.ago.to_time.iso8601,
                  sort: 'MERGED_AT_DESC'
                }
              }
            ]
          ]
        }
      ]
    }
  end