From da46071b2c4acf3e92c0e98362a809ccfffd41da Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sat, 15 Feb 2025 20:11:59 +0800 Subject: [PATCH] :bug: No advance permission user still will see the source --- pkg/internal/server/api/well_known_api.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkg/internal/server/api/well_known_api.go b/pkg/internal/server/api/well_known_api.go index 81e2a37..ae83aad 100644 --- a/pkg/internal/server/api/well_known_api.go +++ b/pkg/internal/server/api/well_known_api.go @@ -1,6 +1,7 @@ package api import ( + "git.solsynth.dev/hypernet/nexus/pkg/nex/sec" "git.solsynth.dev/hypernet/reader/pkg/internal/models" "git.solsynth.dev/hypernet/reader/pkg/internal/services" "github.com/gofiber/fiber/v2" @@ -8,7 +9,15 @@ import ( ) func getNewsSources(c *fiber.Ctx) error { + isAdvanced := false + if err := sec.EnsureGrantedPerm(c, "ListNewsAdvanced", true); err == nil { + isAdvanced = true + } + return c.JSON(lo.Filter(services.NewsSources, func(item models.NewsSource, index int) bool { + if !isAdvanced && item.Advanced { + return false + } return item.Enabled })) }