MCPcopy
hub / github.com/devtron-labs/devtron / CreateRoleGroup

Method CreateRoleGroup

api/auth/user/UserRestHandler.go:454–505  ·  view source on GitHub ↗
(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

452}
453
454func (handler UserRestHandlerImpl) CreateRoleGroup(w http.ResponseWriter, r *http.Request) {
455 decoder := json.NewDecoder(r.Body)
456 userId, err := handler.userService.GetLoggedInUser(r)
457 if userId == 0 || err != nil {
458 common.HandleUnauthorized(w, r)
459 return
460 }
461 var request bean2.RoleGroup
462 err = decoder.Decode(&request)
463 if err != nil {
464 handler.logger.Errorw("request err, CreateRoleGroup", "err", err, "payload", request)
465 common.WriteJsonResp(w, err, nil, http.StatusBadRequest)
466 return
467 }
468 request.UserId = userId
469 handler.logger.Infow("request payload, CreateRoleGroup", "err", err, "payload", request)
470
471 // RBAC enforcer applying
472 token := r.Header.Get("token")
473 isAuthorised, err := handler.checkRBACForUserCreate(token, request.SuperAdmin, request.RoleFilters, nil)
474 if err != nil {
475 common.WriteJsonResp(w, err, "", http.StatusInternalServerError)
476 return
477 }
478 if !isAuthorised {
479 response.WriteResponse(http.StatusForbidden, "FORBIDDEN", w, errors.New("unauthorized"))
480 return
481 }
482
483 //RBAC enforcer Ends
484 err = handler.validator.Struct(request)
485 if err != nil {
486 handler.logger.Errorw("validation err, CreateRoleGroup", "err", err, "payload", request)
487 common.WriteJsonResp(w, err, nil, http.StatusBadRequest)
488 return
489 }
490
491 res, err := handler.roleGroupService.CreateRoleGroup(&request)
492 if err != nil {
493 handler.logger.Errorw("service err, CreateRoleGroup", "err", err, "payload", request)
494 if _, ok := err.(*util.ApiError); ok {
495 common.WriteJsonResp(w, err, nil, http.StatusOK)
496 } else if err.Error() == bean2.VALIDATION_FAILED_ERROR_MSG {
497 common.WriteJsonResp(w, err, nil, http.StatusBadRequest)
498 } else {
499 common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
500 }
501 return
502 }
503
504 common.WriteJsonResp(w, err, res, http.StatusOK)
505}
506
507func (handler UserRestHandlerImpl) UpdateRoleGroup(w http.ResponseWriter, r *http.Request) {
508 decoder := json.NewDecoder(r.Body)

Callers

nothing calls this directly

Calls 8

HandleUnauthorizedFunction · 0.92
WriteJsonRespFunction · 0.92
WriteResponseFunction · 0.92
GetLoggedInUserMethod · 0.65
GetMethod · 0.65
CreateRoleGroupMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected