styling, require a code for prompts, admin privs, ordering, filtering, jump-to-page

This commit is contained in:
2022-09-07 16:25:42 -04:00
parent 7990246675
commit eefd11d85a
52 changed files with 2827 additions and 300 deletions

View 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

View 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