@@ -10,14 +10,14 @@ defmodule CodeCorpsWeb.ProjectSkillController do
10
10
11
11
@ spec index ( Conn . t , map ) :: Conn . t
12
12
def index ( % Conn { } = conn , % { } = params ) do
13
- with project_skills <- ProjectSkill |> Query . id_filter ( params ) |> Repo . all do
13
+ with project_skills <- ProjectSkill |> Query . id_filter ( params ) |> Repo . all |> preload ( ) do
14
14
conn |> render ( "index.json-api" , data: project_skills )
15
15
end
16
16
end
17
17
18
18
@ spec show ( Conn . t , map ) :: Conn . t
19
19
def show ( % Conn { } = conn , % { "id" => id } ) do
20
- with % ProjectSkill { } = project_skill <- ProjectSkill |> Repo . get ( id ) do
20
+ with % ProjectSkill { } = project_skill <- ProjectSkill |> Repo . get ( id ) |> preload ( ) do
21
21
conn |> render ( "show.json-api" , data: project_skill )
22
22
end
23
23
end
@@ -26,8 +26,9 @@ defmodule CodeCorpsWeb.ProjectSkillController do
26
26
def create ( % Conn { } = conn , % { } = params ) do
27
27
with % User { } = current_user <- conn |> Guardian.Plug . current_resource ,
28
28
{ :ok , :authorized } <- current_user |> Policy . authorize ( :create , % ProjectSkill { } , params ) ,
29
- { :ok , % ProjectSkill { } = project_skill } <- % ProjectSkill { } |> ProjectSkill . create_changeset ( params ) |> Repo . insert do
30
-
29
+ { :ok , % ProjectSkill { } = project_skill } <- % ProjectSkill { } |> ProjectSkill . create_changeset ( params ) |> Repo . insert ( ) ,
30
+ project_skill <- preload ( project_skill )
31
+ do
31
32
current_user . id |> SegmentTracker . track ( "Added Project Skill" , project_skill )
32
33
conn |> put_status ( :created ) |> render ( "show.json-api" , data: project_skill )
33
34
end
@@ -44,4 +45,12 @@ defmodule CodeCorpsWeb.ProjectSkillController do
44
45
conn |> Conn . assign ( :project_skill , project_skill ) |> send_resp ( :no_content , "" )
45
46
end
46
47
end
48
+
49
+ @ preloads [
50
+ :skill
51
+ ]
52
+
53
+ def preload ( data ) do
54
+ Repo . preload ( data , @ preloads )
55
+ end
47
56
end
0 commit comments