Last active
February 1, 2023 11:00
-
-
Save mhaagens/fe0d936d567f800fb67378c240c1beff to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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