@@ -10,43 +10,41 @@ import (
10
10
11
11
// GetItems GET /items
12
12
func GetItems (c echo.Context ) error {
13
- getItemsBody , err := getItemsParams (c )
13
+ getItemsBody , err := parseGetItemsParams (c )
14
14
if err != nil {
15
- c .Logger ().Info (err .Error ())
16
- return c .JSON (http .StatusBadRequest , "リクエストデータの処理に失敗しました" )
15
+ return invalidRequest (c , err )
17
16
}
18
17
19
18
res , err := model .GetItems (getItemsBody )
20
19
if err != nil {
21
- c .Logger ().Info (err .Error ())
22
- return c .JSON (http .StatusInternalServerError , "DBの操作に失敗しました" )
20
+ return internalServerError (c , err )
23
21
}
24
22
25
23
return c .JSON (http .StatusOK , res )
26
24
}
27
25
28
- func getItemsParams (c echo.Context ) (model.GetItemsBody , error ) {
29
- params := c .QueryParams ()
26
+ func parseGetItemsParams (c echo.Context ) (model.GetItemsBody , error ) {
27
+ query := c .QueryParams ()
30
28
31
29
getItemsBody := model.GetItemsBody {
32
- UserID : params .Get ("userId" ),
33
- Search : params .Get ("search" ),
34
- Rental : params .Get ("rental" ),
35
- Tags : params ["tag" ],
36
- TagsExclude : params ["tag-exclude" ],
37
- SortBy : params .Get ("sortby" ),
30
+ UserID : query .Get ("userId" ),
31
+ Search : query .Get ("search" ),
32
+ Rental : query .Get ("rental" ),
33
+ Tags : query ["tag" ],
34
+ TagsExclude : query ["tag-exclude" ],
35
+ SortBy : query .Get ("sortby" ),
38
36
}
39
37
40
- if params .Get ("limit" ) != "" {
41
- limit , err := strconv .Atoi (params .Get ("limit" ))
38
+ if query .Get ("limit" ) != "" {
39
+ limit , err := strconv .Atoi (query .Get ("limit" ))
42
40
if err != nil {
43
41
return model.GetItemsBody {}, err
44
42
}
45
43
getItemsBody .Limit = limit
46
44
}
47
45
48
- if params .Get ("offset" ) != "" {
49
- offset , err := strconv .Atoi (params .Get ("offset" ))
46
+ if query .Get ("offset" ) != "" {
47
+ offset , err := strconv .Atoi (query .Get ("offset" ))
50
48
if err != nil {
51
49
return model.GetItemsBody {}, err
52
50
}
@@ -60,18 +58,16 @@ func getItemsParams(c echo.Context) (model.GetItemsBody, error) {
60
58
61
59
// PostItems POST /items
62
60
func PostItems (c echo.Context ) error {
63
- me := c . Get ( "user" ).( string )
61
+ me := getAuthorizedUser ( c )
64
62
items := []model.RequestPostItemsBody {}
65
63
err := c .Bind (& items )
66
64
if err != nil {
67
- c .Logger ().Info (err .Error ())
68
- return c .JSON (http .StatusBadRequest , "リクエストデータの処理に失敗しました" )
65
+ return invalidRequest (c , err )
69
66
}
70
67
71
68
res , err := model .CreateItems (items , me )
72
69
if err != nil {
73
- c .Logger ().Info (err .Error ())
74
- return c .JSON (http .StatusBadRequest , "DBの操作に失敗しました" )
70
+ return internalServerError (c , err )
75
71
}
76
72
77
73
return c .JSON (http .StatusOK , res )
@@ -83,14 +79,12 @@ func GetItem(c echo.Context) error {
83
79
84
80
itemID , err := strconv .Atoi (itemIDRaw )
85
81
if err != nil {
86
- c .Logger ().Info (err .Error ())
87
- return c .JSON (http .StatusBadRequest , "物品のIDが不正です" )
82
+ return invalidRequest (c , err )
88
83
}
89
84
90
85
res , err := model .GetItem (itemID )
91
86
if err != nil {
92
- c .Logger ().Info (err .Error ())
93
- return c .JSON (http .StatusInternalServerError , "DBの操作に失敗しました" )
87
+ return internalServerError (c , err )
94
88
}
95
89
96
90
return c .JSON (http .StatusOK , res )
@@ -101,21 +95,18 @@ func PatchItem(c echo.Context) error {
101
95
itemBody := model.RequestPostItemsBody {}
102
96
err := c .Bind (& itemBody )
103
97
if err != nil {
104
- c .Logger ().Info (err .Error ())
105
- return c .JSON (http .StatusBadRequest , "リクエストデータの処理に失敗しました" )
98
+ return invalidRequest (c , err )
106
99
}
107
100
108
101
itemIDRaw := c .Param ("id" )
109
102
itemID , err := strconv .Atoi (itemIDRaw )
110
103
if err != nil {
111
- c .Logger ().Info (err .Error ())
112
- return c .JSON (http .StatusBadRequest , "物品のIDが不正です" )
104
+ return invalidRequest (c , err )
113
105
}
114
106
115
107
res , err := model .PatchItem (itemID , itemBody )
116
108
if err != nil {
117
- c .Logger ().Info (err .Error ())
118
- return c .JSON (http .StatusInternalServerError , "DBの操作に失敗しました" )
109
+ return internalServerError (c , err )
119
110
}
120
111
121
112
return c .JSON (http .StatusOK , res )
@@ -126,14 +117,12 @@ func DeleteItem(c echo.Context) error {
126
117
itemIDRaw := c .Param ("id" )
127
118
itemID , err := strconv .Atoi (itemIDRaw )
128
119
if err != nil {
129
- c .Logger ().Info (err .Error ())
130
- return c .JSON (http .StatusBadRequest , "物品のIDが不正です" )
120
+ return invalidRequest (c , err )
131
121
}
132
122
133
123
err = model .DeleteItem (itemID )
134
124
if err != nil {
135
- c .Logger ().Info (err .Error ())
136
- return c .JSON (http .StatusInternalServerError , "DBの操作に失敗しました" )
125
+ return internalServerError (c , err )
137
126
}
138
127
139
128
return c .NoContent (http .StatusOK )
0 commit comments