add fundraising API
This commit is contained in:
parent
d2ec7b12a9
commit
4aad4d1251
3 changed files with 18 additions and 0 deletions
|
|
@ -3,6 +3,7 @@ defmodule CampApiWeb.GristController do
|
|||
|
||||
alias CampApi.Grist
|
||||
alias CampApi.Grist.Gauge
|
||||
alias CampApi.Grist.Fundraising
|
||||
|
||||
action_fallback CampApiWeb.FallbackController
|
||||
|
||||
|
|
@ -11,4 +12,10 @@ defmodule CampApiWeb.GristController do
|
|||
|
||||
render(conn, :gauge, gauge: gauge)
|
||||
end
|
||||
|
||||
def fundraising(conn, _params) do
|
||||
fundraising = Fundraising.get()
|
||||
|
||||
render(conn, :fundraising, fundraising: fundraising)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -4,4 +4,13 @@ defmodule CampApiWeb.GristJSON do
|
|||
def gauge(%{gauge: gauge}) do
|
||||
%{gauge: gauge}
|
||||
end
|
||||
|
||||
def fundraising(%{fundraising: fundraising}) do
|
||||
total =
|
||||
fundraising
|
||||
|> Enum.map(fn record -> get_in(record, ["fields", "Montant"]) end)
|
||||
|> Enum.sum()
|
||||
|
||||
%{total: total}
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ defmodule CampApiWeb.Router do
|
|||
pipe_through :api
|
||||
|
||||
get "/gauge", GristController, :gauge
|
||||
|
||||
get "/fundraising", GristController, :fundraising
|
||||
end
|
||||
|
||||
# Enable LiveDashboard in development
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue