Skip to content

Instantly share code, notes, and snippets.

@mhaagens
Last active February 1, 2023 11:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mhaagens/fe0d936d567f800fb67378c240c1beff to your computer and use it in GitHub Desktop.
Save mhaagens/fe0d936d567f800fb67378c240c1beff to your computer and use it in GitHub Desktop.
defmodule DemoApp.User do
def get_user() do
with {:ok, user} <- Repo.query(%User{}),
{:ok, ^user} <- is_user_email_verified(user),
{:ok, ^user} <- is_user_subscribed(user) do
{:ok, user}
else
{:error, reason} -> {:err, reason}
_ -> {:error, "Something went wrong"}
end
end
defp is_user_email_verified(%User{} = user) do
case true do
true -> {:ok, user}
false -> {:error, "User email is not verified"}
_ -> {:error, "Something went wrong"}
end
end
defp is_user_subscribed(%User{} = user) do
case true do
true -> {:ok, user}
false -> {:err, "User is not subscribed"}
_ -> {:error, "Something went wrong"}
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment