113 lines
2.9 KiB
Ruby
113 lines
2.9 KiB
Ruby
# encoding: UTF-8
|
|
# frozen_string_literal: true
|
|
|
|
module API
|
|
module V2
|
|
module Admin
|
|
module Entities
|
|
class Trade < API::V2::Entities::Trade
|
|
unexpose(:side)
|
|
unexpose(:order_id)
|
|
unexpose(:fee_currency)
|
|
unexpose(:fee)
|
|
unexpose(:fee_amount)
|
|
|
|
expose(
|
|
:maker_order_email,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Trade maker member email.'
|
|
}
|
|
) { |trade| trade.maker.email }
|
|
|
|
expose(
|
|
:maker_uid,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Trade maker member uid.'
|
|
}
|
|
) { |trade| trade.maker.uid }
|
|
|
|
expose(
|
|
:maker_fee,
|
|
documentation: {
|
|
type: BigDecimal,
|
|
desc: 'Trade maker fee percentage.',
|
|
},
|
|
if: ->(object, options) { options[:extended] }
|
|
) { |trade| trade.maker_order.maker_fee }
|
|
|
|
expose(
|
|
:maker_fee_amount,
|
|
documentation: {
|
|
type: BigDecimal,
|
|
desc: 'Trade maker fee amount.',
|
|
}
|
|
) { |trade| fee_amount(trade, trade.maker_order) }
|
|
|
|
expose(
|
|
:maker_fee_currency,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Trade maker fee currency code.'
|
|
}
|
|
) { |trade| fee_currency(trade.maker_order) }
|
|
|
|
expose(
|
|
:maker_order,
|
|
using: API::V2::Admin::Entities::Order,
|
|
if: ->(object, options) { options[:extended] }
|
|
)
|
|
|
|
expose(
|
|
:taker_order_email,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Trade taker member email.'
|
|
}
|
|
) { |trade| trade.taker.email }
|
|
|
|
expose(
|
|
:taker_uid,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Trade taker member uid.'
|
|
}
|
|
) { |trade| trade.taker.uid }
|
|
|
|
expose(
|
|
:taker_fee_currency,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Trade taker fee currency code.'
|
|
}
|
|
) { |trade| fee_currency(trade.taker_order) }
|
|
|
|
expose(
|
|
:taker_fee,
|
|
documentation: {
|
|
type: BigDecimal,
|
|
desc: 'Trade taker fee percentage.',
|
|
},
|
|
if: ->(object, options) { options[:extended] }
|
|
) { |trade| trade.taker_order.taker_fee }
|
|
|
|
expose(
|
|
:taker_fee_amount,
|
|
documentation: {
|
|
type: BigDecimal,
|
|
desc: 'Trade taker fee amount.',
|
|
}
|
|
) { |trade| fee_amount(trade, trade.taker_order) }
|
|
|
|
expose(
|
|
:taker_order,
|
|
using: API::V2::Admin::Entities::Order,
|
|
if: ->(object, options) { options[:extended] }
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|