init: inital commit

This commit is contained in:
2026-04-16 15:46:00 +02:00
commit 34ddbe669e
40 changed files with 1556 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
defmodule Localiser.Domain.Users do
alias Localiser.Repo
alias Localiser.Domain.Schema.User
def get_user!(id), do: Repo.get!(User, id)
def get_user_by_username(username) do
Repo.get_by(User, username: username)
end
def create_user(attrs) do
%User{}
|> User.changeset(attrs)
|> Repo.insert()
end
def authenticate_user(username, password) do
user = get_user_by_username(username)
cond do
user && Argon2.verify_pass(password, user.password_hash) ->
{:ok, user}
user ->
{:error, :invalid_credentials}
true ->
Argon2.no_user_verify()
{:error, :invalid_credentials}
end
end
end