105 lines
2.4 KiB
Ruby
105 lines
2.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module API
|
|
module V2
|
|
module Admin
|
|
module Entities
|
|
class Member < API::V2::Entities::Member
|
|
expose(
|
|
:id,
|
|
documentation: {
|
|
type: Integer,
|
|
desc: 'Unique member identifier in database.'
|
|
}
|
|
)
|
|
|
|
expose(
|
|
:level,
|
|
documentation: {
|
|
type: Integer,
|
|
desc: 'Member\'s level.'
|
|
}
|
|
)
|
|
|
|
expose(
|
|
:role,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Member\'s role.'
|
|
}
|
|
)
|
|
|
|
expose(
|
|
:group,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Member\'s group.'
|
|
}
|
|
)
|
|
|
|
expose(
|
|
:state,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Member\'s state.'
|
|
}
|
|
)
|
|
|
|
expose(
|
|
:created_at,
|
|
format_with: :iso8601,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Member created time in iso8601 format.'
|
|
}
|
|
)
|
|
|
|
expose(
|
|
:updated_at,
|
|
format_with: :iso8601,
|
|
documentation: {
|
|
type: String,
|
|
desc: 'Member updated time in iso8601 format.'
|
|
}
|
|
)
|
|
|
|
expose(
|
|
:beneficiaries,
|
|
using: API::V2::Admin::Entities::Beneficiary,
|
|
documentation: {
|
|
type: 'API::V2::Admin::Entities::Beneficiary',
|
|
is_array: true,
|
|
desc: 'Member Beneficiary.'
|
|
}
|
|
) do |m|
|
|
m.beneficiaries
|
|
end
|
|
|
|
expose(
|
|
:accounts,
|
|
using: API::V2::Entities::Account,
|
|
documentation: {
|
|
type: 'API::V2::Entities::Account',
|
|
is_array: true,
|
|
desc: 'Member accounts.'
|
|
}
|
|
) do |m|
|
|
m.accounts.includes(:currency)
|
|
end
|
|
|
|
expose(
|
|
:payment_addresses,
|
|
as: :deposit_addresses,
|
|
using: API::V2::Entities::PaymentAddress,
|
|
documentation: {
|
|
type: 'API::V2::Entities::PaymentAddress',
|
|
is_array: true,
|
|
desc: 'Member deposits addresses'
|
|
}
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|