Class: Api::V6::PackageLabelsController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/api/v6/package_labels_controller.rb

Instance Method Summary collapse

Methods inherited from BaseController

#identity_cache_memoization, #pagy_custom, #set_options

Methods included from LogrageCustomLogger

#append_info_to_payload

Methods included from ResponseCacheConcern

#my_response_cache

Instance Method Details

#indexObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/controllers/api/v6/package_labels_controller.rb', line 6

def index
  tg_ids_params = params[:ticket_group_ids]
  p_ids_params = params[:package_ids]
  service = if tg_ids_params
              TicketGroupLabelsService.new(tg_ids_params.to_s.split(','))
            elsif p_ids_params.present?
              PackageLabelsService.new(p_ids_params.to_s.split(','))
            else
              render json: { success: false, message: 'No valid params' }
              return
            end

  cache_key = "#{self.class}:index:#{params}#{MyLocaleManager.normalize_locale}:#{service.cache_key}"

  my_response_cache cache_key, :json, public: true do
    { success: true, message: '', data: service.call }
  end
end