Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def user_contacts(provider_id, filter) do
- query =
- from(
- u in User,
- preload: [:groups],
- where: u.provider_id == ^provider_id and u.type != "company"
- )
- query
- |> filter_sector(filter)
- |> filter_availability(filter)
- end
- defp filter_sector(query, %{"sector" => "Asset Management & Investment Funds"}) do
- query
- |> join(:inner, [u], p in Profile, p.user_id == u.id)
- |> where([u, p], fragment("(sectors->>'asset' = ?)", "true"))
- end
- defp filter_availability(query, %{"availability" => "now"}) do
- query
- |> join(:inner, [u], p in Profile, p.user_id == u.id)
- |> where([u, p], ^Date.utc_today >= p.placement_availability)
- end
- from(
- q in query,
- join: p in Profile,
- on: p.user_id == q.id,
- where: fragment("(sectors->>'asset' = ?)", "true")
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement