Simulation Details page layout Update

This commit is contained in:
2026-02-23 22:03:52 -05:00
parent 5b2b0cbb1f
commit c0b62300f3
11 changed files with 527 additions and 92 deletions

View File

@@ -247,3 +247,44 @@ func (rt *Router) DeleteSimulation(w http.ResponseWriter, r *http.Request, idStr
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(map[string]string{"status": "success"})
}
func (rt *Router) ClearFailedSimulations(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*")
rows, err := rt.DB.Query(`
SELECT id, name FROM simulations
WHERE search_time IS NULL
AND total_time IS NULL
AND NOT EXISTS (SELECT 1 FROM resources WHERE simulation_id = simulations.id)
`)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
defer rows.Close()
var deleteIDs []string
var deleteDirs []string
for rows.Next() {
var id, name string
if err := rows.Scan(&id, &name); err == nil {
deleteIDs = append(deleteIDs, id)
deleteDirs = append(deleteDirs, name)
}
}
rows.Close()
for i, idStr := range deleteIDs {
rt.DB.Exec("DELETE FROM resources WHERE simulation_id = ?", idStr)
rt.DB.Exec("DELETE FROM simulations WHERE id = ?", idStr)
dirPath := filepath.Join("../results", deleteDirs[i])
if _, statErr := os.Stat(dirPath); statErr == nil {
os.RemoveAll(dirPath)
}
}
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(map[string]interface{}{"status": "success", "deleted_count": len(deleteIDs)})
}