Skip to content

Commit b22dc98

Browse files
Update user_controller.ex
1 parent bcf34a9 commit b22dc98

File tree

1 file changed

+25
-21
lines changed

1 file changed

+25
-21
lines changed

lib/cadet_web/controllers/user_controller.ex

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ defmodule CadetWeb.UserController do
66
use CadetWeb, :controller
77
use PhoenixSwagger
88

9+
import Ecto.Changeset
10+
911
import Cadet.Assessments
1012
import Cadet.Collectibles
1113

@@ -15,7 +17,6 @@ defmodule CadetWeb.UserController do
1517
max_grade = user_max_grade(user)
1618
story = user_current_story(user)
1719
xp = user_total_xp(user)
18-
1920
collectibles = user_collectibles(user)
2021

2122
render(
@@ -28,26 +29,7 @@ defmodule CadetWeb.UserController do
2829
xp: xp,
2930
collectibles: collectibles,
3031
)
31-
end
3232

33-
def addCollectibles(conn, pic_nickname, pic_name) do
34-
user = conn.assigns.current_user
35-
grade = user_total_grade(user)
36-
max_grade = user_max_grade(user)
37-
story = user_current_story(user)
38-
xp = user_total_xp(user)
39-
collectibles = add_user_collectibles(user, pic_nickname, pic_name)
40-
41-
render(
42-
conn,
43-
"index.json",
44-
user: user,
45-
grade: grade,
46-
max_grade: max_grade,
47-
story: story,
48-
xp: xp,
49-
collectibles: collectibles,
50-
)
5133
end
5234

5335
swagger_path :index do
@@ -63,15 +45,37 @@ defmodule CadetWeb.UserController do
6345
response(401, "Unauthorised")
6446
end
6547

66-
swagger_path :addCollectibles do
48+
def collectiblesUpdate(conn, %{"picnickname" => pic_nickname, "picname" => pic_name}) do
49+
user = conn.assigns[:current_user]
50+
case Collectibles.update_collectibles(pic_nickname, pic_name, user) do
51+
{:ok, _} ->
52+
text(conn, "OK")
53+
{:error, {status, message}} ->
54+
conn
55+
|> put_status(status)
56+
|> text(message)
57+
end
58+
end
59+
60+
swagger_path :collectiblesUpdate do
6761
post("/user")
6862
summary("add one collectible to the user")
6963
security([%{JWT: []}])
64+
consumes("application/json")
65+
produces("application/json")
66+
parameters do
67+
picNickname(:path, :string, "picture nickname", required: true)
68+
questionId(:path, :string, "picture name", required: true)
69+
end
7070
response(200, "OK")
7171
response(400, "Invalid parameters")
7272
response(401, "Unauthorised")
7373
end
7474

75+
76+
77+
78+
7579
def swagger_definitions do
7680
%{
7781
UserInfo:

0 commit comments

Comments
 (0)