package handler import ( "github.com/gofiber/fiber/v2" "git.tukangketik.id/swanadiva/hostkeeper/v2/internal/store" ) var keyStore = store.NewKeyStore() func Keychain(c *fiber.Ctx) error { if c.Get("HX-Request") != "" { return KeyGrid(c) } keys := keyStore.All() return c.Render("keychain", fiber.Map{ "View": "keychain", "Title": "Keychain", "Keys": keys, "NavItems": navItems, }) } func KeyGrid(c *fiber.Ctx) error { q := c.Query("q", "") keys := keyStore.Search(q) return c.Render("credential_grid", fiber.Map{"Keys": keys}) } func CreateKey(c *fiber.Ctx) error { name := c.FormValue("name") username := c.FormValue("username") url := c.FormValue("url") passphrase := c.FormValue("passphrase") keyStore.Add(name, username, url, passphrase) keys := keyStore.All() return c.Render("credential_grid", fiber.Map{"Keys": keys}) } func DeleteKey(c *fiber.Ctx) error { id := c.Params("id") keyStore.Delete(id) keys := keyStore.All() return c.Render("credential_grid", fiber.Map{"Keys": keys}) }