37 lines
1.3 KiB
Ruby
37 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module API
|
|
module V2
|
|
module Public
|
|
class DepositLimits < Grape::API
|
|
helpers ::API::V2::Admin::Helpers
|
|
|
|
desc 'Returns deposit limits table as paginated collection',
|
|
is_array: true,
|
|
success: API::V2::Entities::DepositLimit
|
|
params do
|
|
optional :group,
|
|
type: String,
|
|
desc: -> { API::V2::Entities::DepositLimit.documentation[:group][:desc] },
|
|
coerce_with: ->(c) { c.strip.downcase }
|
|
optional :kyc_level,
|
|
type: String,
|
|
desc: -> { API::V2::Entities::DepositLimit.documentation[:kyc_level][:desc] }
|
|
use :pagination
|
|
use :ordering
|
|
end
|
|
get '/deposit_limits' do
|
|
ransack_params = API::V2::Admin::Helpers::RansackBuilder.new(params)
|
|
.eq(:group, :kyc_level)
|
|
.build
|
|
|
|
search = DepositLimit.ransack(ransack_params)
|
|
search.sorts = "#{params[:order_by]} #{params[:ordering]}"
|
|
|
|
present paginate(Rails.cache.fetch("deposit_limits_#{params}", expires_in: 600) { search.result.load.to_a }), with: API::V2::Entities::DepositLimit
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|