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

app_data_serializer.rb « jira_connect « serializers « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 994ff19f96e0f4e0c4e4675b14a32cc05d4ec2e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# frozen_string_literal: true

class JiraConnect::AppDataSerializer
  include Gitlab::Routing
  include ::API::Helpers::RelatedResourcesHelpers

  def initialize(subscriptions, signed_in)
    @subscriptions = subscriptions
    @signed_in = signed_in
  end

  def as_json
    skip_groups = @subscriptions.map(&:namespace_id)

    {
      groups_path: api_v4_groups_path(params: { min_access_level: Gitlab::Access::MAINTAINER, skip_groups: skip_groups }),
      subscriptions: JiraConnect::SubscriptionEntity.represent(@subscriptions).as_json,
      subscriptions_path: jira_connect_subscriptions_path,
      login_path: signed_in? ? nil : jira_connect_users_path
    }
  end

  private

  def signed_in?
    !!@signed_in
  end
end