Added site overview page

This commit is contained in:
2026-04-06 16:05:14 +02:00
parent 538bd8920c
commit 3a96717d02
25 changed files with 1293 additions and 16 deletions
+40
View File
@@ -254,6 +254,46 @@ func (h *SiteHandler) PutSite(c fiber.Ctx) error {
return c.JSON(updatedSite)
}
// ToggleEnabled godoc
// @Summary Toggle site enabled status
// @Description Enable or disable a site by its ID
// @Tags Sites
// @Accept json
// @Produce json
// @Param id path string true "Site ID"
// @Success 200 {object} models.ToggleEnabledResponse
// @Failure 404 {object} models.APIError
// @Failure 500 {object} models.APIError
// @Router /sites/{id}/enabled [patch]
func (h *SiteHandler) ToggleEnabled(c fiber.Ctx) error {
id := c.Params("id")
if _, err := h.Repo.GetSite(id); err != nil {
if errors.Is(err, sql.ErrNoRows) {
return c.Status(fiber.StatusNotFound).JSON(&models.APIError{
Message: "Site not found",
})
}
log.Println("Error checking site before update: ", err)
return c.Status(fiber.StatusInternalServerError).JSON(&models.APIError{
Message: "Unexpected error while updating site",
})
}
enabled, err := h.Repo.ToggleEnabled(id)
if err != nil {
log.Println("Error while toggling enabled: ", err)
return c.Status(fiber.StatusInternalServerError).JSON(&models.APIError{
Message: "Unexpected error while toggling enabled",
})
}
return c.Status(fiber.StatusOK).JSON(&models.ToggleEnabledResponse{
Enabled: enabled,
})
}
// DeleteSite godoc
// @Summary Delete a site
// @Description Delete a site by its ID