@@ -22,7 +22,6 @@ import (
22
22
23
23
"github.com/go-openapi/errors"
24
24
"github.com/go-openapi/runtime/middleware"
25
- "github.com/go-openapi/swag"
26
25
"github.com/minio/console/restapi/operations"
27
26
"github.com/minio/minio/pkg/madmin"
28
27
@@ -36,37 +35,37 @@ func registerGroupsHandlers(api *operations.ConsoleAPI) {
36
35
api .AdminAPIListGroupsHandler = admin_api .ListGroupsHandlerFunc (func (params admin_api.ListGroupsParams , session * models.Principal ) middleware.Responder {
37
36
listGroupsResponse , err := getListGroupsResponse (session )
38
37
if err != nil {
39
- return admin_api .NewListGroupsDefault (500 ). WithPayload ( & models. Error { Code : 500 , Message : swag . String (err . Error ())} )
38
+ return admin_api .NewListGroupsDefault (int ( err . Code )). WithPayload (err )
40
39
}
41
40
return admin_api .NewListGroupsOK ().WithPayload (listGroupsResponse )
42
41
})
43
42
// Group Info
44
43
api .AdminAPIGroupInfoHandler = admin_api .GroupInfoHandlerFunc (func (params admin_api.GroupInfoParams , session * models.Principal ) middleware.Responder {
45
44
groupInfo , err := getGroupInfoResponse (session , params )
46
45
if err != nil {
47
- return admin_api .NewGroupInfoDefault (500 ). WithPayload ( & models. Error { Code : 500 , Message : swag . String (err . Error ())} )
46
+ return admin_api .NewGroupInfoDefault (int ( err . Code )). WithPayload (err )
48
47
}
49
48
return admin_api .NewGroupInfoOK ().WithPayload (groupInfo )
50
49
})
51
50
// Add Group
52
51
api .AdminAPIAddGroupHandler = admin_api .AddGroupHandlerFunc (func (params admin_api.AddGroupParams , session * models.Principal ) middleware.Responder {
53
52
if err := getAddGroupResponse (session , params .Body ); err != nil {
54
- return admin_api .NewAddGroupDefault (500 ). WithPayload ( & models. Error { Code : 500 , Message : swag . String (err . Error ())} )
53
+ return admin_api .NewAddGroupDefault (int ( err . Code )). WithPayload (err )
55
54
}
56
55
return admin_api .NewAddGroupCreated ()
57
56
})
58
57
// Remove Group
59
58
api .AdminAPIRemoveGroupHandler = admin_api .RemoveGroupHandlerFunc (func (params admin_api.RemoveGroupParams , session * models.Principal ) middleware.Responder {
60
59
if err := getRemoveGroupResponse (session , params ); err != nil {
61
- return admin_api .NewRemoveGroupDefault (500 ). WithPayload ( & models. Error { Code : 500 , Message : swag . String (err . Error ())} )
60
+ return admin_api .NewRemoveGroupDefault (int ( err . Code )). WithPayload (err )
62
61
}
63
62
return admin_api .NewRemoveGroupNoContent ()
64
63
})
65
64
// Update Group
66
65
api .AdminAPIUpdateGroupHandler = admin_api .UpdateGroupHandlerFunc (func (params admin_api.UpdateGroupParams , session * models.Principal ) middleware.Responder {
67
66
groupUpdateResp , err := getUpdateGroupResponse (session , params )
68
67
if err != nil {
69
- return admin_api .NewUpdateGroupDefault (500 ). WithPayload ( & models. Error { Code : 500 , Message : swag . String (err . Error ())} )
68
+ return admin_api .NewUpdateGroupDefault (int ( err . Code )). WithPayload (err )
70
69
}
71
70
return admin_api .NewUpdateGroupOK ().WithPayload (groupUpdateResp )
72
71
})
@@ -82,21 +81,19 @@ func listGroups(ctx context.Context, client MinioAdmin) (*[]string, error) {
82
81
}
83
82
84
83
// getListGroupsResponse performs listGroups() and serializes it to the handler's output
85
- func getListGroupsResponse (session * models.Principal ) (* models.ListGroupsResponse , error ) {
84
+ func getListGroupsResponse (session * models.Principal ) (* models.ListGroupsResponse , * models. Error ) {
86
85
ctx := context .Background ()
87
86
mAdmin , err := newMAdminClient (session )
88
87
if err != nil {
89
- log .Println ("error creating Madmin Client:" , err )
90
- return nil , err
88
+ return nil , prepareError (err )
91
89
}
92
90
// create a MinIO Admin Client interface implementation
93
91
// defining the client to be used
94
92
adminClient := adminClient {client : mAdmin }
95
93
96
94
groups , err := listGroups (ctx , adminClient )
97
95
if err != nil {
98
- log .Println ("error listing groups:" , err )
99
- return nil , err
96
+ return nil , prepareError (err )
100
97
}
101
98
// serialize output
102
99
listGroupsResponse := & models.ListGroupsResponse {
@@ -116,21 +113,19 @@ func groupInfo(ctx context.Context, client MinioAdmin, group string) (*madmin.Gr
116
113
}
117
114
118
115
// getGroupInfoResponse performs groupInfo() and serializes it to the handler's output
119
- func getGroupInfoResponse (session * models.Principal , params admin_api.GroupInfoParams ) (* models.Group , error ) {
116
+ func getGroupInfoResponse (session * models.Principal , params admin_api.GroupInfoParams ) (* models.Group , * models. Error ) {
120
117
ctx := context .Background ()
121
118
mAdmin , err := newMAdminClient (session )
122
119
if err != nil {
123
- log .Println ("error creating Madmin Client:" , err )
124
- return nil , err
120
+ return nil , prepareError (err )
125
121
}
126
122
// create a MinIO Admin Client interface implementation
127
123
// defining the client to be used
128
124
adminClient := adminClient {client : mAdmin }
129
125
130
126
groupDesc , err := groupInfo (ctx , adminClient , params .Name )
131
127
if err != nil {
132
- log .Println ("error getting group info:" , err )
133
- return nil , err
128
+ return nil , prepareError (err )
134
129
}
135
130
136
131
groupResponse := & models.Group {
@@ -157,26 +152,23 @@ func addGroup(ctx context.Context, client MinioAdmin, group string, members []st
157
152
}
158
153
159
154
// getAddGroupResponse performs addGroup() and serializes it to the handler's output
160
- func getAddGroupResponse (session * models.Principal , params * models.AddGroupRequest ) error {
155
+ func getAddGroupResponse (session * models.Principal , params * models.AddGroupRequest ) * models. Error {
161
156
ctx := context .Background ()
162
157
// AddGroup request needed to proceed
163
158
if params == nil {
164
- log .Println ("error AddGroup body not in request" )
165
- return errors .New (500 , "error AddGroup body not in request" )
159
+ return prepareError (errGroupBodyNotInRequest )
166
160
}
167
161
168
162
mAdmin , err := newMAdminClient (session )
169
163
if err != nil {
170
- log .Println ("error creating Madmin Client:" , err )
171
- return err
164
+ return prepareError (err )
172
165
}
173
166
// create a MinIO Admin Client interface implementation
174
167
// defining the client to be used
175
168
adminClient := adminClient {client : mAdmin }
176
169
177
170
if err := addGroup (ctx , adminClient , * params .Group , params .Members ); err != nil {
178
- log .Println ("error adding group:" , err )
179
- return err
171
+ return prepareError (err )
180
172
}
181
173
return nil
182
174
}
@@ -196,25 +188,22 @@ func removeGroup(ctx context.Context, client MinioAdmin, group string) error {
196
188
}
197
189
198
190
// getRemoveGroupResponse performs removeGroup() and serializes it to the handler's output
199
- func getRemoveGroupResponse (session * models.Principal , params admin_api.RemoveGroupParams ) error {
191
+ func getRemoveGroupResponse (session * models.Principal , params admin_api.RemoveGroupParams ) * models. Error {
200
192
ctx := context .Background ()
201
193
202
194
if params .Name == "" {
203
- log .Println ("error group name not in request" )
204
- return errors .New (500 , "error group name not in request" )
195
+ return prepareError (errGroupNameNotInRequest )
205
196
}
206
197
mAdmin , err := newMAdminClient (session )
207
198
if err != nil {
208
- log .Println ("error creating Madmin Client:" , err )
209
- return err
199
+ return prepareError (err )
210
200
}
211
201
// create a MinIO Admin Client interface implementation
212
202
// defining the client to be used
213
203
adminClient := adminClient {client : mAdmin }
214
204
215
205
if err := removeGroup (ctx , adminClient , params .Name ); err != nil {
216
- log .Println ("error removing group:" , err )
217
- return err
206
+ return prepareError (err )
218
207
}
219
208
return nil
220
209
}
@@ -276,32 +265,29 @@ func setGroupStatus(ctx context.Context, client MinioAdmin, group, status string
276
265
// getUpdateGroupResponse updates a group by adding or removing it's members depending on the request,
277
266
// also sets the group's status if status in the request is different than the current one.
278
267
// Then serializes the output to be used by the handler.
279
- func getUpdateGroupResponse (session * models.Principal , params admin_api.UpdateGroupParams ) (* models.Group , error ) {
268
+ func getUpdateGroupResponse (session * models.Principal , params admin_api.UpdateGroupParams ) (* models.Group , * models. Error ) {
280
269
ctx := context .Background ()
281
270
if params .Name == "" {
282
- log .Println ("error group name not in request" )
283
- return nil , errors .New (500 , "error group name not in request" )
271
+ return nil , prepareError (errGroupNameNotInRequest )
284
272
}
285
273
if params .Body == nil {
286
- log . Println ( "error body not in request" )
287
- return nil , errors . New ( 500 , "error body not in request" )
274
+ return nil , prepareError ( errGroupBodyNotInRequest )
275
+
288
276
}
289
277
expectedGroupUpdate := params .Body
290
278
groupName := params .Name
291
279
292
280
mAdmin , err := newMAdminClient (session )
293
281
if err != nil {
294
- log .Println ("error creating Madmin Client:" , err )
295
- return nil , err
282
+ return nil , prepareError (err )
296
283
}
297
284
// create a MinIO Admin Client interface implementation
298
285
// defining the client to be used
299
286
adminClient := adminClient {client : mAdmin }
300
287
301
288
groupUpdated , err := groupUpdate (ctx , adminClient , groupName , expectedGroupUpdate )
302
289
if err != nil {
303
- log .Println ("error updating group:" , err )
304
- return nil , err
290
+ return nil , prepareError (err )
305
291
}
306
292
groupResponse := & models.Group {
307
293
Name : groupUpdated .Name ,
0 commit comments