Commit 0ccb6aa0 authored by Vijay Hawoldar's avatar Vijay Hawoldar

Separate GitlabSubscriptions module from class name

To be consistent with other module definitions
parent effa7178
# frozen_string_literal: true # frozen_string_literal: true
class GitlabSubscriptions::FetchSubscriptionPlansService module GitlabSubscriptions
URL = "#{EE::SUBSCRIPTIONS_URL}/gitlab_plans".freeze class FetchSubscriptionPlansService
URL = "#{EE::SUBSCRIPTIONS_URL}/gitlab_plans".freeze
def initialize(plan:, namespace_id: nil) def initialize(plan:, namespace_id: nil)
@plan = plan @plan = plan
@namespace_id = namespace_id @namespace_id = namespace_id
end end
def execute
cached { send_request }
end
private def execute
cached { send_request }
end
def send_request private
response = Gitlab::HTTP.get(
URL,
allow_local_requests: true,
query: { plan: @plan, namespace_id: @namespace_id },
headers: { 'Accept' => 'application/json' }
)
Gitlab::Json.parse(response.body).map { |plan| Hashie::Mash.new(plan) } def send_request
rescue => e response = Gitlab::HTTP.get(
Gitlab::AppLogger.info "Unable to connect to GitLab Customers App #{e}" URL,
allow_local_requests: true,
query: { plan: @plan, namespace_id: @namespace_id },
headers: { 'Accept' => 'application/json' }
)
nil Gitlab::Json.parse(response.body).map { |plan| Hashie::Mash.new(plan) }
end rescue => e
Gitlab::AppLogger.info "Unable to connect to GitLab Customers App #{e}"
def cached nil
if plans_data = cache.read(cache_key)
plans_data
else
cache.fetch(cache_key, force: true, expires_in: 1.day) { yield }
end end
end
def cache def cached
Rails.cache if plans_data = cache.read(cache_key)
end plans_data
def cache_key
if Feature.enabled?(:pnp_subscription_plan_cache_key)
if @namespace_id.present?
"pnp-subscription-plan-#{@plan}-#{@namespace_id}"
else
"pnp-subscription-plan-#{@plan}"
end
elsif Feature.enabled?(:subscription_plan_cache_key)
if @namespace_id.present?
"subscription-plan-#{@plan}-#{@namespace_id}"
else else
"subscription-plan-#{@plan}" cache.fetch(cache_key, force: true, expires_in: 1.day) { yield }
end end
else end
if @namespace_id.present?
"subscription-plans-#{@plan}-#{@namespace_id}" def cache
Rails.cache
end
def cache_key
if Feature.enabled?(:pnp_subscription_plan_cache_key)
if @namespace_id.present?
"pnp-subscription-plan-#{@plan}-#{@namespace_id}"
else
"pnp-subscription-plan-#{@plan}"
end
elsif Feature.enabled?(:subscription_plan_cache_key)
if @namespace_id.present?
"subscription-plan-#{@plan}-#{@namespace_id}"
else
"subscription-plan-#{@plan}"
end
else else
"subscription-plans-#{@plan}" if @namespace_id.present?
"subscription-plans-#{@plan}-#{@namespace_id}"
else
"subscription-plans-#{@plan}"
end
end end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment