Skip to content

Commit 1c83a4b

Browse files
committed
refactor: upgrade guardian controller to 1.7
1 parent 4c82d3e commit 1c83a4b

File tree

4 files changed

+21
-26
lines changed

4 files changed

+21
-26
lines changed

lib/bokken_web/views/admin/guardian_view.ex renamed to lib/bokken_web/controllers/admin/guardian_json.ex

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
defmodule BokkenWeb.Admin.GuardianView do
2-
use BokkenWeb, :view
3-
1+
defmodule BokkenWeb.Controller.Admin.GuardianJSON do
42
alias Bokken.Uploaders.Avatar
53

6-
def render("index.json", %{guardians: guardians}) do
7-
%{data: render_many(guardians, __MODULE__, "guardian.json")}
4+
def index(%{guardians: guardians}) do
5+
%{data: for(g <- guardians, do: guardian(%{guardian: g}))}
86
end
97

10-
def render("guardian.json", %{guardian: guardian}) do
8+
def guardian(%{guardian: guardian}) do
119
%{
1210
id: guardian.id,
1311
photo: Avatar.url({guardian.photo, guardian}, :thumb),
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
defmodule BokkenWeb.Admin.UserController do
2-
use BokkenWeb, controller: "1.6"
2+
use BokkenWeb, :controller
33

44
alias Bokken.Accounts
55
alias Bokken.Accounts.User
@@ -8,14 +8,14 @@ defmodule BokkenWeb.Admin.UserController do
88

99
def index(conn, _params) do
1010
users = Accounts.list_users()
11-
render(conn, "index.json", users: users)
11+
render(conn, :index, users: users)
1212
end
1313

1414
def update(conn, %{"id" => id, "user" => user_params}) when is_organizer(conn) do
1515
user = Accounts.get_user!(id)
1616

1717
with {:ok, %User{} = user} <- Accounts.update_user_as_admin(user, user_params) do
18-
render(conn, "user.json", user: user)
18+
render(conn, :user, user: user)
1919
end
2020
end
2121
end

lib/bokken_web/controllers/guardian_controller.ex

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
defmodule BokkenWeb.GuardianController do
2-
use BokkenWeb, controller: "1.6"
2+
use BokkenWeb, :controller
33

44
alias Bokken.Accounts
55
alias Bokken.Accounts.Guardian
@@ -8,30 +8,30 @@ defmodule BokkenWeb.GuardianController do
88

99
def index(conn, _params) do
1010
guardians = Accounts.list_guardians()
11-
render(conn, "index.json", guardians: guardians)
11+
render(conn, :index, guardians: guardians)
1212
end
1313

1414
def create(conn, %{"guardian" => guardian_params})
1515
when is_guardian(conn) or is_organizer(conn) do
1616
with {:ok, %Guardian{} = guardian} <- Accounts.create_guardian(guardian_params) do
1717
conn
1818
|> put_status(:created)
19-
|> put_resp_header("location", Routes.guardian_path(conn, :show, guardian))
20-
|> render("show.json", guardian: guardian)
19+
|> put_resp_header("location", ~p"/api/guardians/#{guardian.id}")
20+
|> render(:show, guardian: guardian)
2121
end
2222
end
2323

2424
def show(conn, %{"id" => id}) do
2525
guardian = Accounts.get_guardian!(id)
26-
render(conn, "show.json", guardian: guardian)
26+
render(conn, :show, guardian: guardian)
2727
end
2828

2929
def update(conn, %{"id" => id, "guardian" => guardian_params})
3030
when is_guardian(conn) or is_organizer(conn) do
3131
guardian = Accounts.get_guardian!(id)
3232

3333
with {:ok, %Guardian{} = guardian} <- Accounts.update_guardian(guardian, guardian_params) do
34-
render(conn, "show.json", guardian: guardian)
34+
render(conn, :show, guardian: guardian)
3535
end
3636
end
3737

lib/bokken_web/views/guardian_view.ex renamed to lib/bokken_web/controllers/guardian_json.ex

+8-11
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
1-
defmodule BokkenWeb.GuardianView do
2-
use BokkenWeb, :view
3-
1+
defmodule BokkenWeb.GuardianJSON do
42
alias Bokken.Uploaders.Avatar
5-
alias BokkenWeb.GuardianView
63

7-
def render("index.json", %{guardians: guardians, current_user: current_user}) do
8-
%{data: render_many(guardians, GuardianView, "guardian.json", current_user: current_user)}
4+
def index(%{guardians: guardians, current_user: current_user}) do
5+
%{data: for(g <- guardians, do: data(g, current_user))}
96
end
107

11-
def render("show.json", %{guardian: guardian, current_user: current_user}) do
12-
%{data: render_one(guardian, GuardianView, "guardian.json", current_user: current_user)}
8+
def show(%{guardian: guardian, current_user: current_user}) do
9+
%{data: data(guardian, current_user)}
1310
end
1411

15-
def render("guardian.json", %{guardian: guardian, current_user: current_user}) do
16-
data(guardian)
12+
defp data(guardian, current_user) do
13+
guardian(guardian)
1714
|> Map.merge(personal(guardian, current_user))
1815
end
1916

20-
defp data(guardian) do
17+
defp guardian(guardian) do
2118
%{
2219
id: guardian.id,
2320
photo: Avatar.url({guardian.photo, guardian}, :thumb),

0 commit comments

Comments
 (0)