styling, require a code for prompts, admin privs, ordering, filtering, jump-to-page
This commit is contained in:
25
lib/diffuser/accounts/user.ex
Normal file
25
lib/diffuser/accounts/user.ex
Normal file
@@ -0,0 +1,25 @@
|
||||
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
|
20
lib/diffuser/accounts/vote.ex
Normal file
20
lib/diffuser/accounts/vote.ex
Normal file
@@ -0,0 +1,20 @@
|
||||
defmodule Diffuser.Accounts.Vote do
|
||||
use Diffuser.Schema
|
||||
import Ecto.Changeset
|
||||
alias Diffuser.Generator.PromptRequest
|
||||
alias Diffuser.Accounts.User
|
||||
|
||||
schema "votes" do
|
||||
belongs_to :prompt_request, PromptRequest
|
||||
belongs_to :user, User
|
||||
|
||||
timestamps()
|
||||
end
|
||||
|
||||
@doc false
|
||||
def changeset(vote, attrs) do
|
||||
vote
|
||||
|> cast(attrs, [:prompt_request_id, :user_id])
|
||||
|> validate_required([])
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user