Initial commit
This commit is contained in:
34
app/api/v2/management/trading_fees.rb
Normal file
34
app/api/v2/management/trading_fees.rb
Normal file
@@ -0,0 +1,34 @@
|
||||
# encoding: UTF-8
|
||||
# frozen_string_literal: true
|
||||
|
||||
module API
|
||||
module V2
|
||||
module Management
|
||||
class TradingFees < Grape::API
|
||||
desc 'Returns trading_fees table as paginated collection' do
|
||||
@settings[:scope] = :read_trading_fees
|
||||
end
|
||||
params do
|
||||
optional :group,
|
||||
type: String,
|
||||
desc: 'Member group'
|
||||
optional :market_id,
|
||||
type: String,
|
||||
desc: 'Market id',
|
||||
values: { value: -> { ::Market.ids.append(::TradingFee::ANY) },
|
||||
message: 'Market does not exist' }
|
||||
optional :page, type: Integer, default: 1, integer_gt_zero: true, desc: 'The page number (defaults to 1).'
|
||||
optional :limit, type: Integer, default: 100, range: 1..1000, desc: 'The number of objects per page (defaults to 100, maximum is 1000).'
|
||||
end
|
||||
post '/fee_schedule/trading_fees' do
|
||||
TradingFee
|
||||
.order(id: :desc)
|
||||
.tap { |t| t.where!(market_id: params[:market_id]) if params[:market_id] }
|
||||
.tap { |t| t.where!(group: params[:group]) if params[:group] }
|
||||
.tap { |q| present paginate(q), with: API::V2::Entities::TradingFee }
|
||||
status 200
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user