Current section

Files

Jump to
ex_oanda lib models response trades modify_client_extensions.ex
Raw

lib/models/response/trades/modify_client_extensions.ex

defmodule ExOanda.Response.TradeModifyClientExtensions do
@moduledoc """
Schema for Oanda modify client extensions response.
[Oanda Docs](https://developer.oanda.com/rest-live-v20/trade-ep/)
"""
use TypedEctoSchema
import Ecto.Changeset
alias ExOanda.{
TradeClientExtensionsModifyRejectTransaction,
TradeClientExtensionsModifyTransaction
}
@primary_key false
typed_embedded_schema do
field(:related_transaction_ids, {:array, :string})
field(:last_transaction_id, :string)
embeds_one :trade_client_extensions_modify_transaction, TradeClientExtensionsModifyTransaction
embeds_one :trade_client_extensions_modify_reject_transaction, TradeClientExtensionsModifyRejectTransaction
end
@doc false
def changeset(struct, params) do
struct
|> cast(params, [:related_transaction_ids, :last_transaction_id])
|> cast_embed(:trade_client_extensions_modify_transaction)
|> cast_embed(:trade_client_extensions_modify_reject_transaction)
end
end