Usernames, logging in, validations, etc.
This commit is contained in:
+15
-6
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user