mirror of
https://github.com/lordmathis/llamactl.git
synced 2025-11-05 16:44:22 +00:00
Add DeleteInstance handler and route for instance management
This commit is contained in:
@@ -221,3 +221,21 @@ func (h *Handler) RestartInstance() http.HandlerFunc {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (h *Handler) DeleteInstance() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
id := chi.URLParam(r, "id")
|
||||
uuid, err := uuid.Parse(id)
|
||||
if err != nil {
|
||||
http.Error(w, "Invalid UUID format", http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
|
||||
if err := h.InstanceManager.DeleteInstance(uuid); err != nil {
|
||||
http.Error(w, "Failed to delete instance: "+err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
w.WriteHeader(http.StatusNoContent) // No content for successful deletion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,9 +31,9 @@ func SetupRouter(handler *Handler) *chi.Mux {
|
||||
|
||||
r.Route("/{id}", func(r chi.Router) {
|
||||
// Instance management
|
||||
r.Get("/", handler.GetInstance()) // Get instance details
|
||||
r.Put("/", handler.UpdateInstance()) // Update instance configuration
|
||||
// r.Delete("/", handler.DeleteInstance()) // Stop and remove instance
|
||||
r.Get("/", handler.GetInstance()) // Get instance details
|
||||
r.Put("/", handler.UpdateInstance()) // Update instance configuration
|
||||
r.Delete("/", handler.DeleteInstance()) // Stop and remove instance
|
||||
r.Post("/start", handler.StartInstance()) // Start stopped instance
|
||||
r.Post("/stop", handler.StopInstance()) // Stop running instance
|
||||
r.Post("/restart", handler.RestartInstance()) // Restart instance
|
||||
|
||||
Reference in New Issue
Block a user