Skip to content

Commit a1b0567

Browse files
authored
feat(ui): add system backend metadata and deletion in index (#6546)
Signed-off-by: Ettore Di Giacinto <[email protected]>
1 parent a22f6a4 commit a1b0567

File tree

2 files changed

+233
-36
lines changed

2 files changed

+233
-36
lines changed

core/http/routes/ui_api.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,32 @@ func RegisterUIAPIRoutes(app *fiber.App, cl *config.ModelConfigLoader, appConfig
620620
return c.JSON(response)
621621
})
622622

623+
// System Backend Deletion API (for installed backends on index page)
624+
app.Post("/api/backends/system/delete/:name", func(c *fiber.Ctx) error {
625+
backendName := strings.Clone(c.Params("name"))
626+
// URL decode the backend name
627+
backendName, err := url.QueryUnescape(backendName)
628+
if err != nil {
629+
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
630+
"error": "invalid backend name",
631+
})
632+
}
633+
log.Debug().Msgf("API request to delete system backend: %+v\n", backendName)
634+
635+
// Use the gallery package to delete the backend
636+
if err := gallery.DeleteBackendFromSystem(appConfig.SystemState, backendName); err != nil {
637+
log.Error().Err(err).Msgf("Failed to delete backend: %s", backendName)
638+
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
639+
"error": err.Error(),
640+
})
641+
}
642+
643+
return c.JSON(fiber.Map{
644+
"success": true,
645+
"message": "Backend deleted successfully",
646+
})
647+
})
648+
623649
// P2P APIs
624650
app.Get("/api/p2p/workers", func(c *fiber.Ctx) error {
625651
nodes := p2p.GetAvailableNodes(p2p.NetworkID(appConfig.P2PNetworkID, p2p.WorkerID))

0 commit comments

Comments
 (0)