🐛 No advance permission user still will see the source
This commit is contained in:
		| @@ -1,6 +1,7 @@ | |||||||
| package api | package api | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
|  | 	"git.solsynth.dev/hypernet/nexus/pkg/nex/sec" | ||||||
| 	"git.solsynth.dev/hypernet/reader/pkg/internal/models" | 	"git.solsynth.dev/hypernet/reader/pkg/internal/models" | ||||||
| 	"git.solsynth.dev/hypernet/reader/pkg/internal/services" | 	"git.solsynth.dev/hypernet/reader/pkg/internal/services" | ||||||
| 	"github.com/gofiber/fiber/v2" | 	"github.com/gofiber/fiber/v2" | ||||||
| @@ -8,7 +9,15 @@ import ( | |||||||
| ) | ) | ||||||
|  |  | ||||||
| func getNewsSources(c *fiber.Ctx) error { | 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 { | 	return c.JSON(lo.Filter(services.NewsSources, func(item models.NewsSource, index int) bool { | ||||||
|  | 		if !isAdvanced && item.Advanced { | ||||||
|  | 			return false | ||||||
|  | 		} | ||||||
| 		return item.Enabled | 		return item.Enabled | ||||||
| 	})) | 	})) | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user