package users import ( "auth_service/api/jwt" "auth_service/database" "auth_service/model" "encoding/json" "fmt" "net/http" ) func ChangeUser(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", "application/json") var request model.ChangeUserRequest decoder := json.NewDecoder(req.Body) decoder.Decode(&request) claims, e := jwt.VerifyJWT(request.Token, jwt.Defaultsecretkey) if e != nil { fmt.Fprintf(w, "{\"status\": 403}") return } user, e := database.GetUserByUsername( fmt.Sprintf("%v", claims["username"]), ) if e != nil { fmt.Fprintf(w, "{\"error\":\"%v\"}", e) return } database.Db.Model(&user).Updates(map[string]any{ "Username": request.Username, "Email": request.Email, "Group": request.Group, "IsSuperuser": request.IsSuperuser, }) fmt.Fprint(w, "{\"status\":200}") }