Current section

Files

Jump to
ex_oanda lib models definitions transaction trade_client_extensions_modify_transaction.ex
Raw

lib/models/definitions/transaction/trade_client_extensions_modify_transaction.ex

defmodule ExOanda.TradeClientExtensionsModifyTransaction do
@moduledoc """
Schema for Oanda trade client extensions modify transaction.
[Oanda Docs](https://developer.oanda.com/rest-live-v20/transaction-df/)
"""
use TypedEctoSchema
import Ecto.Changeset
alias ExOanda.{
ClientExtensions,
Type.Atom
}
@primary_key false
typed_embedded_schema do
field(:id, :string)
field(:time, :utc_datetime_usec)
field(:user_id, :integer)
field(:account_id, :string)
field(:batch_id, :string)
field(:request_id, :string)
field(:type, Atom, default: :TRADE_CLIENT_EXTENSIONS_MODIFY)
field(:trade_id, :string)
field(:client_trade_id, :string)
embeds_one :trade_client_extensions_modify, ClientExtensions
end
@doc false
def changeset(struct, params) do
struct
|> cast(params, [
:id,
:time,
:user_id,
:account_id,
:batch_id,
:request_id,
:type,
:trade_id,
:client_trade_id
])
|> cast_embed(:trade_client_extensions_modify)
end
end