Skip to content

Instantly share code, notes, and snippets.

@shankardevy
Created July 8, 2017 08:35
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 shankardevy/dfda7176dafa4519192780252123b869 to your computer and use it in GitHub Desktop.
Save shankardevy/dfda7176dafa4519192780252123b869 to your computer and use it in GitHub Desktop.
defmodule Mango.CRM do
alias Mango.Repo
alias Mango.CRM.Customer
def build_customer(attrs \\ %{}) do
%Customer{}
|> Customer.changeset(attrs)
end
def create_customer(attrs) do
attrs
|> build_customer
|> Repo.insert
end
# Add this new function
def get_customer(id), do: Repo.get(Customer, id)
def get_customer_by_email(email), do: Repo.get_by(Customer, email: email)
def get_customer_by_credentials(%{"email" => email, "password" => pass} ) do
customer = get_customer_by_email(email)
cond do
customer && Comeonin.Bcrypt.checkpw(pass, customer.password_hash) ->
customer
true ->
:error
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment