88 lines
1.9 KiB
Ruby
88 lines
1.9 KiB
Ruby
# encoding: UTF-8
|
|
# frozen_string_literal: true
|
|
|
|
module API
|
|
module V2
|
|
module Admin
|
|
module Entities
|
|
class Withdraw < API::V2::Entities::Withdraw
|
|
expose(
|
|
:member_id,
|
|
as: :member,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'The member id.'
|
|
}
|
|
)
|
|
|
|
expose(
|
|
:beneficiary,
|
|
using: API::V2::Entities::Beneficiary,
|
|
if: ->(withdraw, options) do
|
|
options[:with_beneficiary] && withdraw.beneficiary.present?
|
|
end
|
|
)
|
|
|
|
expose(
|
|
:uid,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'The withdrawal member uid.'
|
|
}
|
|
) { |w| w.member.uid }
|
|
|
|
expose(
|
|
:email,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'The withdrawal member email.'
|
|
}
|
|
) { |w| w.member.email }
|
|
|
|
expose(
|
|
:account,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'The account code.'
|
|
}
|
|
) { |w| w.account.id }
|
|
|
|
expose(
|
|
:block_number,
|
|
documentation: {
|
|
type: Integer,
|
|
desc: 'The withdrawal block_number.'
|
|
},
|
|
if: ->(w) { w.currency.coin? }
|
|
)
|
|
|
|
expose(
|
|
:tid,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Withdraw tid.'
|
|
}
|
|
)
|
|
|
|
expose(
|
|
:error,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Withdraw error.'
|
|
},
|
|
unless: ->(w) { w.succeed? }
|
|
)
|
|
|
|
expose(
|
|
:metadata,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Optional metadata to be applied to the transaction.'
|
|
}
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|