Add RSS/Sitemap handling.

This commit is contained in:
2025-05-18 20:37:58 +08:00
parent 7bca25bd2c
commit 8668f3a947
6 changed files with 196 additions and 48 deletions

View File

@@ -2,14 +2,26 @@ package api
import (
"encoding/json"
"github.com/gofiber/fiber/v3/log"
"net/url"
"nysoure/server/dao"
"nysoure/server/model"
"nysoure/server/service"
"nysoure/server/utils"
"strconv"
"github.com/gofiber/fiber/v3"
)
func updateSiteMapAndRss(baseURL string) {
resources, err := dao.GetAllResources()
if err != nil {
log.Error("Error getting resources: ", err)
}
utils.GenerateSiteMap(baseURL, resources)
utils.GenerateRss(baseURL, resources)
}
func handleCreateResource(c fiber.Ctx) error {
var params service.ResourceCreateParams
body := c.Body()
@@ -25,6 +37,7 @@ func handleCreateResource(c fiber.Ctx) error {
if err != nil {
return err
}
updateSiteMapAndRss(c.BaseURL())
return c.Status(fiber.StatusOK).JSON(model.Response[uint]{
Success: true,
Data: id,
@@ -69,6 +82,7 @@ func handleDeleteResource(c fiber.Ctx) error {
if err != nil {
return err
}
updateSiteMapAndRss(c.BaseURL())
return c.Status(fiber.StatusOK).JSON(model.Response[any]{
Success: true,
Data: nil,
@@ -211,6 +225,7 @@ func handleUpdateResource(c fiber.Ctx) error {
if err != nil {
return err
}
updateSiteMapAndRss(c.BaseURL())
return c.Status(fiber.StatusOK).JSON(model.Response[any]{
Success: true,
Data: nil,