diff --git a/lib/nulla_web/components/templates/auth/sign_in.html.heex b/lib/nulla_web/components/templates/auth/sign_in.html.heex
new file mode 100644
index 0000000..1cdbb55
--- /dev/null
+++ b/lib/nulla_web/components/templates/auth/sign_in.html.heex
@@ -0,0 +1,9 @@
+
+
+
diff --git a/lib/nulla_web/components/templates/auth/sign_up.html.heex b/lib/nulla_web/components/templates/auth/sign_up.html.heex
new file mode 100644
index 0000000..4685573
--- /dev/null
+++ b/lib/nulla_web/components/templates/auth/sign_up.html.heex
@@ -0,0 +1,12 @@
+
+
+
diff --git a/lib/nulla_web/controllers/auth_controller.ex b/lib/nulla_web/controllers/auth_controller.ex
index 3edddb1..a4df65d 100644
--- a/lib/nulla_web/controllers/auth_controller.ex
+++ b/lib/nulla_web/controllers/auth_controller.ex
@@ -1,12 +1,37 @@
defmodule NullaWeb.AuthController do
use NullaWeb, :controller
+ alias Nulla.Models.User
- def sign_in do
+ def sign_in_view(conn, _params) do
+ render(conn, :sign_in, layout: false)
end
- def sign_out do
+ def sign_in(conn, _params) do
+ conn
+ |> redirect(to: "/")
end
- def sign_up do
+ def sign_out(conn, _params) do
+ conn
+ |> configure_session(drop: true)
+ |> put_flash(:info, "You have been logged out.")
+ |> redirect(to: "/")
+ end
+
+ def sign_up_view(conn, _params) do
+ render(conn, :sign_up, layout: false)
+ end
+
+ def sign_up(conn, params) do
+ case User.create_user(params) do
+ {:ok, user} ->
+ conn
+ |> put_session(:user_id, user.id)
+ |> put_flash(:info, "You're registred!")
+ |> redirect(to: "/")
+
+ {:error, %Ecto.Changeset{} = changeset} ->
+ render(conn, "sign_up.html", changeset: changeset)
+ end
end
end