Usernames, logging in, validations, etc.

This commit is contained in:
2020-12-29 00:06:44 -08:00
parent bddf7ff040
commit 2a288e2507
9 changed files with 136 additions and 17 deletions
+15 -6
View File
@@ -7,10 +7,9 @@ defmodule Bwc do
@repo Repo
def new_player, do: Player.changeset(%Player{})
def create_player(attrs), do: Player.changeset(%Player{},attrs) |> @repo.insert()
def create_player(attrs), do: Player.changeset(%Player{}, attrs) |> @repo.insert()
def delete_player(id), do: get_player(id) |> @repo.delete
@@ -18,19 +17,30 @@ defmodule Bwc do
def get_player(id), do: @repo.get!(Player, id)
def get_player_by(params), do: @repo.get_by(Player, params)
def get_or_create_player(username) do
case get_player_by(%{username: username}) do
%Player{} = player ->
{:ok, player}
_ ->
create_player(%{username: username})
end
end
def list_cards, do: @repo.all(Card)
def get_card(id), do: @repo.get!(Card, id)
def get_card_by(attrs), do: @repo.get_by(Card, attrs)
def create_card(attrs), do: Card.changeset(%Card{},attrs) |> @repo.insert()
def create_card(attrs), do: Card.changeset(%Card{}, attrs) |> @repo.insert()
def new_card, do: Card.changeset(%Card{})
def size, do: Bwc.list_cards |> length
def size, do: Bwc.list_cards() |> length
def draw_card, do: Bwc.list_cards |> Enum.random
def draw_card, do: Bwc.list_cards() |> Enum.random()
def draw, do: draw_card()
def delete_card(%Bwc.Card{} = card), do: @repo.delete(card)
@@ -41,5 +51,4 @@ defmodule Bwc do
|> Card.changeset(updates)
|> @repo.update
end
end
+1 -1
View File
@@ -12,7 +12,7 @@ defmodule Bwc.Player do
|> cast(attrs, [:username, :picture])
|> validate_required(:username)
|> unique_constraint(:username)
|> validate_length(:username, min: 3)
|> validate_length(:username, min: 3, max: 20)
end
end