26 lines
583 B
Elixir
26 lines
583 B
Elixir
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
|