mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-14 09:04:44 +08:00
add validation checks for admin invite
This commit is contained in:
parent
088c108b93
commit
b160445a18
1 changed files with 15 additions and 0 deletions
|
@ -164,6 +164,21 @@ func inviteUsers(w http.ResponseWriter, r *http.Request) {
|
|||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
||||
return
|
||||
}
|
||||
callerUserName := r.Header.Get("user")
|
||||
caller, err := logic.GetUser(callerUserName)
|
||||
if err != nil {
|
||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "notfound"))
|
||||
return
|
||||
}
|
||||
if inviteReq.PlatformRoleID == models.SuperAdminRole.String() {
|
||||
logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("super admin cannot be invited"), "badrequest"))
|
||||
return
|
||||
}
|
||||
if (inviteReq.PlatformRoleID == models.AdminRole.String() ||
|
||||
inviteReq.PlatformRoleID == models.SuperAdminRole.String()) && caller.PlatformRoleID != models.SuperAdminRole {
|
||||
logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("only superadmin can invite admin users"), "forbidden"))
|
||||
return
|
||||
}
|
||||
//validate Req
|
||||
err = proLogic.IsGroupsValid(inviteReq.UserGroups)
|
||||
if err != nil {
|
||||
|
|
Loading…
Add table
Reference in a new issue