summaryrefslogtreecommitdiff
path: root/lib/chessh/schema/player.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chessh/schema/player.ex')
-rw-r--r--lib/chessh/schema/player.ex13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/chessh/schema/player.ex b/lib/chessh/schema/player.ex
index 074ea4e..f12ad9e 100644
--- a/lib/chessh/schema/player.ex
+++ b/lib/chessh/schema/player.ex
@@ -5,6 +5,8 @@ defmodule Chessh.Player do
@derive {Inspect, except: [:password]}
schema "players" do
+ field(:github_id, :integer)
+
field(:username, :string)
field(:password, :string, virtual: true)
@@ -19,6 +21,15 @@ defmodule Chessh.Player do
timestamps()
end
+ defimpl Jason.Encoder, for: Chessh.Player do
+ def encode(value, opts) do
+ Jason.Encode.map(
+ Map.take(value, [:id, :github_id, :username, :created_at, :updated_at]),
+ opts
+ )
+ end
+ end
+
def authentications_changeset(player, attrs) do
player
|> cast(attrs, [:authentications])
@@ -26,7 +37,7 @@ defmodule Chessh.Player do
def registration_changeset(player, attrs, opts \\ []) do
player
- |> cast(attrs, [:username, :password])
+ |> cast(attrs, [:username, :password, :github_id])
|> validate_username()
|> validate_password(opts)
end