defmodule Rivet.Auth.Signin do alias Rivet.Auth alias Rivet.Ident.User require Logger @spec post_signin({:ok | :error, Auth.Domain.t()}) :: {:ok | :error, Auth.Domain.t()} def post_signin({:ok, %Auth.Domain{user: %User{} = u} = auth}) do Logger.info("Signin", status: auth.status, uid: u.id) # TODO: events/triggers to table/signin count, etc {:ok, auth} end def post_signin(pass = {:error, %Auth.Domain{}}), do: pass # DRY def create_user(<>, <>, <>, type, input \\ %{}) when is_atom(type) do User.Lib.Signup.signup( %Auth.Domain{ hostname: hostname, input: Map.merge(input, %{ handle: handle, email: %{address: eaddr, verified: false} }) }, type ) end end