add quick leads
All checks were successful
Build and Publish / build-release (push) Successful in 2m13s
All checks were successful
Build and Publish / build-release (push) Successful in 2m13s
This commit is contained in:
17
lib/customer_service/lead/filters.ex
Normal file
17
lib/customer_service/lead/filters.ex
Normal file
@@ -0,0 +1,17 @@
|
||||
defmodule CustomerService.Lead.Filters do
|
||||
import Ecto.Query
|
||||
|
||||
def search(query, %Flop.Filter{value: value}, _opts) do
|
||||
term = "%#{value}%"
|
||||
|
||||
where(
|
||||
query,
|
||||
[l],
|
||||
ilike(l.name, ^term) or
|
||||
ilike(l.email, ^term) or
|
||||
ilike(l.phone, ^term) or
|
||||
ilike(l.company_name, ^term) or
|
||||
ilike(l.assigned_to, ^term)
|
||||
)
|
||||
end
|
||||
end
|
||||
15
lib/customer_service/lead/queries.ex
Normal file
15
lib/customer_service/lead/queries.ex
Normal file
@@ -0,0 +1,15 @@
|
||||
defmodule CustomerService.Lead.Queries do
|
||||
alias CustomerService.Projections.QuickLead
|
||||
alias CustomerService.Repo
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user