1
0
mirror of https://github.com/danbee/chess synced 2025-03-04 08:39:06 +00:00

Add name to user

This commit is contained in:
Daniel Barber 2018-03-02 16:55:11 -05:00
parent 4340d0e5bf
commit c92b1b5aef
Signed by: danbarber
GPG Key ID: 931D8112E0103DD8
4 changed files with 19 additions and 4 deletions

View File

@ -6,9 +6,10 @@ defmodule Chess.Auth.User do
alias Comeonin.Argon2
schema "users" do
field :name, :string
field :username, :string
field :password, :string, virtual: true
field :password_hash, :string
field :username, :string
has_many :games, Chess.Store.Game
has_many :games_as_opponent, Chess.Store.Game, foreign_key: :opponent_id
@ -19,8 +20,8 @@ defmodule Chess.Auth.User do
@doc false
def changeset(struct, params \\ %{}) do
struct
|> cast(params, [:username, :password])
|> validate_required([:username, :password])
|> cast(params, required_attrs())
|> validate_required(required_attrs())
|> unique_constraint(:username)
|> hash_password()
end
@ -34,4 +35,6 @@ defmodule Chess.Auth.User do
changeset
end
end
defp required_attrs, do: ~w[name username password]a
end

View File

@ -16,7 +16,7 @@
<header role="banner">
<nav role="user">
<%= if current_user(@conn) do %>
<%= current_user(@conn).username %>
<%= current_user(@conn).name %> (<%= current_user(@conn).username %>)
|
<%= link("Log out", to: session_path(@conn, :delete), method: :delete) %>
<% else %>

View File

@ -8,6 +8,9 @@
<% end %>
<div class="form-group">
<div class="form-field">
<%= input f, :name %>
</div>
<div class="form-field">
<%= input f, :username %>
</div>

View File

@ -0,0 +1,9 @@
defmodule Chess.Repo.Migrations.AddNameToUser do
use Ecto.Migration
def change do
alter table("users") do
add :name, :string
end
end
end