✨ Admin trigger scan task api
This commit is contained in:
		
							
								
								
									
										16
									
								
								pkg/internal/server/api/admin_api.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								pkg/internal/server/api/admin_api.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| package api | ||||
|  | ||||
| import ( | ||||
| 	"git.solsynth.dev/hypernet/nexus/pkg/nex/sec" | ||||
| 	"git.solsynth.dev/hypernet/reader/pkg/internal/services" | ||||
| 	"github.com/gofiber/fiber" | ||||
| ) | ||||
|  | ||||
| func adminTriggerScanTask(c *fiber.Ctx) error { | ||||
| 	if err := sec.EnsureGrantedPerm(c, "AdminTriggerNewsScan", true); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	go services.ScanNewsSources() | ||||
| 	return c.SendStatus(fiber.StatusOK) | ||||
| } | ||||
| @@ -1,12 +1,18 @@ | ||||
| package api | ||||
|  | ||||
| import ( | ||||
| 	"git.solsynth.dev/hypernet/nexus/pkg/nex/sec" | ||||
| 	"github.com/gofiber/fiber/v2" | ||||
| ) | ||||
|  | ||||
| func MapAPIs(app *fiber.App, baseURL string) { | ||||
| 	api := app.Group(baseURL).Name("API") | ||||
| 	{ | ||||
| 		admin := api.Group("/admin").Name("Admin") | ||||
| 		{ | ||||
| 			admin.Post("/scan", sec.ValidatorMiddleware, adminTriggerScanTask) | ||||
| 		} | ||||
|  | ||||
| 		api.Get("/well-known/sources", getNewsSources) | ||||
| 		api.Get("/link/*", getLinkMeta) | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user