feat(db): user

This commit is contained in:
Anhgelus Morhtuuzh 2025-08-12 15:57:21 +02:00
parent 2142d7eddf
commit 3fd0565227
Signed by: anhgelus
GPG key ID: 617773CACE89052C
2 changed files with 44 additions and 0 deletions

View file

@ -0,0 +1,31 @@
defmodule LearningPhoenix.User do
use Ecto.Schema
import Ecto.Changeset
schema "users" do
field :name, :string
field :email, :string
field :password, :string
timestamps(type: :utc_datetime)
end
@doc false
def changeset(user, attrs) do
user
|> cast(attrs, [:name, :email, :password])
|> validate_required([:name, :email, :password])
|> validate_length(:name, min: 2)
|> validate_length(:name, max: 30)
|> valid_email(:email)
end
def valid_email(changeset, field) do
value = get_field(changeset, field)
if value =~ "@" do
changeset
else
add_error(changeset, field, "invalid email")
end
end
end