Added error handling for group already existing (#1902)

This commit is contained in:
jinapurapu
2022-04-25 13:42:50 -07:00
committed by GitHub
parent d9843d50cd
commit 870cef7b65
2 changed files with 13 additions and 1 deletions

View File

@@ -153,7 +153,6 @@ func getAddGroupResponse(session *models.Principal, params *models.AddGroupReque
if params == nil {
return prepareError(errGroupBodyNotInRequest)
}
mAdmin, err := NewMinioAdminClient(session)
if err != nil {
return prepareError(err)
@@ -162,6 +161,14 @@ func getAddGroupResponse(session *models.Principal, params *models.AddGroupReque
// defining the client to be used
adminClient := AdminClient{Client: mAdmin}
groupList, _ := adminClient.listGroups(ctx)
for _, b := range groupList {
if b == *params.Group {
return prepareError(errGroupAlreadyExists)
}
}
if err := addGroup(ctx, adminClient, *params.Group, params.Members); err != nil {
return prepareError(err)
}

View File

@@ -43,6 +43,7 @@ var (
errBucketNameNotInRequest = errors.New("error bucket name not in request")
errGroupBodyNotInRequest = errors.New("error group body not in request")
errGroupNameNotInRequest = errors.New("error group name not in request")
errGroupAlreadyExists = errors.New("error group name already in use")
errPolicyNameNotInRequest = errors.New("error policy name not in request")
errPolicyBodyNotInRequest = errors.New("error policy body not in request")
errInvalidEncryptionAlgorithm = errors.New("error invalid encryption algorithm")
@@ -106,6 +107,10 @@ func prepareError(err ...error) *models.Error {
errorCode = 400
errorMessage = errGroupNameNotInRequest.Error()
}
if errors.Is(err[0], errGroupAlreadyExists) {
errorCode = 400
errorMessage = errGroupAlreadyExists.Error()
}
if errors.Is(err[0], errPolicyNameNotInRequest) {
errorCode = 400
errorMessage = errPolicyNameNotInRequest.Error()