defmodule Diffuser.Accounts.User do use Diffuser.Schema import Ecto.Changeset alias Diffuser.Accounts.Vote alias Diffuser.Generator.PromptRequest schema "users" do field :ip_address, :string field :username, :string field :code, :string has_many :votes, Vote, on_delete: :delete_all has_many :prompt_requests, PromptRequest, on_delete: :delete_all timestamps() end @doc false def changeset(user, attrs) do user |> cast(attrs, [:ip_address, :username, :code]) |> cast_assoc(:votes) |> cast_assoc(:prompt_requests) end end