@@ -5,8 +5,8 @@ defmodule PhoenixAppWeb.UserController do
5
5
alias PhoenixApp . { Accounts , Accounts.User }
6
6
alias PhoenixAppWeb.Schemas
7
7
8
- plug OpenApiSpex.Plug.Cast
9
- plug OpenApiSpex.Plug.Validate
8
+ plug ( OpenApiSpex.Plug.Cast )
9
+ plug ( OpenApiSpex.Plug.Validate )
10
10
11
11
def open_api_operation ( action ) do
12
12
apply ( __MODULE__ , :"#{ action } _operation" , [ ] )
@@ -23,6 +23,7 @@ defmodule PhoenixAppWeb.UserController do
23
23
}
24
24
}
25
25
end
26
+
26
27
def index ( conn , _params ) do
27
28
users = Accounts . list_users ( )
28
29
render ( conn , "index.json" , users: users )
@@ -37,13 +38,17 @@ defmodule PhoenixAppWeb.UserController do
37
38
parameters: [
38
39
Operation . parameter ( :group_id , :path , :integer , "Group ID" , example: 1 )
39
40
] ,
40
- requestBody: request_body ( "The user attributes" , "application/json" , Schemas.UserRequest , required: true ) ,
41
+ requestBody:
42
+ request_body ( "The user attributes" , "application/json" , Schemas.UserRequest ,
43
+ required: true
44
+ ) ,
41
45
responses: % {
42
46
201 => response ( "User" , "application/json" , Schemas.UserResponse )
43
47
}
44
48
}
45
49
end
46
- def create ( conn , % Schemas.UserRequest { user: user_params } ) do
50
+
51
+ def create ( conn = % { body_params: % Schemas.UserRequest { user: user_params } } , % { group_id: group_id } ) do
47
52
with { :ok , % User { } = user } <- Accounts . create_user ( user_params ) do
48
53
conn
49
54
|> put_status ( :created )
@@ -69,6 +74,7 @@ defmodule PhoenixAppWeb.UserController do
69
74
}
70
75
}
71
76
end
77
+
72
78
def show ( conn , % { id: id } ) do
73
79
user = Accounts . get_user! ( id )
74
80
render ( conn , "show.json" , user: user )
0 commit comments