Class: Api::V5::PromotionsController
- Inherits:
-
BaseController
- Object
- ActionController::API
- BaseController
- Api::V5::PromotionsController
- Defined in:
- app/controllers/api/v5/promotions_controller.rb
Overview
typed: ignore frozen_string_literal: true
Constant Summary
Constants inherited from BaseController
BaseController::CACHE_NAMESPACE, BaseController::INTERNAL_SERVER_ERROR_MESSAGE, BaseController::ResponseSchema
Instance Method Summary collapse
Methods inherited from BaseController
Methods included from LogrageCustomLogger
Methods included from ResponseCacheConcern
Instance Method Details
#index ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'app/controllers/api/v5/promotions_controller.rb', line 5 def index cache_key = "Api::V5::Promotions:#{Promotion.maximum(:updated_at)}:#{CityHash.hash32(params)}:#{I18n.locale}" my_response_cache "#{self.class}:index:#{cache_key}", :json do page = params.fetch(:page, {}) filter = Api::V5::PromotionsFilter.new filter.init_default. page_number(page[:number]). per_page(page[:size]). created_or_updated_after(params[:after]) filter.as_json(serialization_context, minor_version_param).merge(success: true, message: nil) end set_status_header(true) end |