package users import ( "auth_service/api/jwt" "auth_service/database" "auth_service/model" "encoding/json" "fmt" "net/http" ) func DelUser(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", "application/json") var request model.DelUserRequest 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 } if claims["is_superuser"] == true || request.UserId != "" { user, e := database.GetUserById(request.UserId) if e != nil { fmt.Fprintf(w, "{\"error\":\"%v\"}", e) return } e = database.DeleteUser(user.Id) if e != nil { fmt.Fprintf(w, "{\"error\":\"%v\"}", e) return } fmt.Fprintf(w, "{\"status\":200}") return } e = database.DeleteUser(fmt.Sprintf("%v", claims["id"])) if e != nil { fmt.Fprintf(w, "{\"error\":\"%v\"}", e) return } fmt.Fprint(w, "{\"status\":200}") }