defmodule UOF.Schemas.API.Sports.BasicEvent do
@moduledoc false
use Ecto.Schema
import Ecto.Changeset
alias UOF.Schemas.API.Sports.EventPlayer
@primary_key false
embedded_schema do
field(:id, :integer)
field(:type, :string)
field(:time, :utc_datetime)
field(:period_name, :string)
field(:match_time, :integer)
field(:match_clock, :string)
field(:team, :string)
field(:x, :integer)
field(:y, :integer)
field(:home_score, :string)
field(:away_score, :string)
field(:period, :string)
field(:stoppage_time, :string)
field(:value, :string)
field(:points, :string)
field(:match_status_code, :integer)
embeds_one(:goal_scorer, EventPlayer)
embeds_one(:player, EventPlayer)
embeds_many(:assist, UOF.Schemas.API.Sports.EventPlayerAssist)
end
def changeset(struct, params) do
struct
|> cast(params, [
:id,
:type,
:time,
:period_name,
:match_time,
:match_clock,
:team,
:x,
:y,
:home_score,
:away_score,
:period,
:stoppage_time,
:value,
:points,
:match_status_code
])
|> cast_embed(:goal_scorer)
|> cast_embed(:player)
|> cast_embed(:assist)
end
end