Files
customer-service/lib/customer_service/lead/queries.ex
HaimKortovich 4519f797fd
All checks were successful
Build and Publish / build-release (push) Successful in 3m7s
partition by org_id and add auth
2026-05-15 10:08:54 -05:00

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