All checks were successful
Build and Publish / build-release (push) Successful in 3m7s
28 lines
765 B
Elixir
28 lines
765 B
Elixir
defmodule CustomerService.Lead.Queries do
|
|
alias CustomerService.Projections.QuickLead
|
|
alias CustomerService.Repo
|
|
|
|
def list_by_org(org_id, params \\ %{}) when is_binary(org_id) do
|
|
params = Map.put(params, :org_id, org_id)
|
|
Flop.validate_and_run(QuickLead, params, for: QuickLead)
|
|
end
|
|
|
|
def get_by_org(org_id, lead_id) when is_binary(org_id) and is_binary(lead_id) do
|
|
case Repo.get_by(QuickLead, org_id: org_id, lead_id: lead_id) do
|
|
nil -> {:error, :not_found}
|
|
lead -> {:ok, lead}
|
|
end
|
|
end
|
|
|
|
def list_leads(params \\ %{}) do
|
|
Flop.validate_and_run(QuickLead, params, for: QuickLead)
|
|
end
|
|
|
|
def get_lead(id) do
|
|
case Repo.get(QuickLead, id) do
|
|
nil -> {:error, :not_found}
|
|
lead -> {:ok, lead}
|
|
end
|
|
end
|
|
end
|