Save post insight result in database

This commit is contained in:
2025-01-30 22:29:03 +08:00
parent 39ef6f9e0a
commit 9d9b2ac866
5 changed files with 33 additions and 22 deletions

View File

@ -1,18 +1,14 @@
package api
import (
"context"
"strconv"
"strings"
localCache "git.solsynth.dev/hypernet/interactive/pkg/internal/cache"
"git.solsynth.dev/hypernet/interactive/pkg/internal/database"
"git.solsynth.dev/hypernet/interactive/pkg/internal/models"
"git.solsynth.dev/hypernet/interactive/pkg/internal/services"
"git.solsynth.dev/hypernet/nexus/pkg/nex/sec"
authm "git.solsynth.dev/hypernet/passport/pkg/authkit/models"
"github.com/eko/gocache/lib/v4/cache"
"github.com/eko/gocache/lib/v4/marshaler"
"github.com/gofiber/fiber/v2"
)
@ -51,19 +47,9 @@ func getPostInsight(c *fiber.Ctx) error {
return fiber.NewError(fiber.StatusNotFound, err.Error())
}
cacheManager := cache.New[any](localCache.S)
marshal := marshaler.New(cacheManager)
contx := context.Background()
var response string
if val, err := marshal.Get(contx, services.GetPostInsightCacheKey(item.ID), new(string)); err == nil {
response = *(val.(*string))
} else {
response, err = services.GeneratePostInsights(item, user.ID)
if err != nil {
return fiber.NewError(fiber.StatusBadRequest, err.Error())
}
marshal.Set(contx, services.GetPostInsightCacheKey(item.ID), response)
response, err := services.GeneratePostInsights(item, user.ID)
if err != nil {
return fiber.NewError(fiber.StatusBadRequest, err.Error())
}
return c.JSON(fiber.Map{