|
@@ -700,6 +700,8 @@ func createUser(w http.ResponseWriter, r *http.Request) {
|
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ logic.DeleteUserInvite(user.UserName)
|
|
|
|
+ logic.DeletePendingUser(user.UserName)
|
|
slog.Info("user was created", "username", user.UserName)
|
|
slog.Info("user was created", "username", user.UserName)
|
|
json.NewEncoder(w).Encode(logic.ToReturnUser(user))
|
|
json.NewEncoder(w).Encode(logic.ToReturnUser(user))
|
|
}
|
|
}
|
|
@@ -1147,6 +1149,21 @@ func inviteUsers(w http.ResponseWriter, r *http.Request) {
|
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ //validate Req
|
|
|
|
+ uniqueGroupsPlatformRole := make(map[models.UserRole]struct{})
|
|
|
|
+ for _, groupID := range inviteReq.Groups {
|
|
|
|
+ userG, err := logic.GetUserGroup(groupID)
|
|
|
|
+ if err != nil {
|
|
|
|
+ logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ uniqueGroupsPlatformRole[userG.PlatformRole] = struct{}{}
|
|
|
|
+ }
|
|
|
|
+ if len(uniqueGroupsPlatformRole) > 1 {
|
|
|
|
+ err = errors.New("only groups with same platform role can be assigned to an user")
|
|
|
|
+ logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
|
|
|
+ return
|
|
|
|
+ }
|
|
for _, inviteeEmail := range inviteReq.UserEmails {
|
|
for _, inviteeEmail := range inviteReq.UserEmails {
|
|
// check if user with email exists, then ignore
|
|
// check if user with email exists, then ignore
|
|
_, err := logic.GetUser(inviteeEmail)
|
|
_, err := logic.GetUser(inviteeEmail)
|