Changeset 0.28.4 (#190)
This commit is contained in:
@@ -368,7 +368,8 @@ func main() {
|
||||
defer memScanner.Stop()
|
||||
|
||||
r := gin.Default()
|
||||
r.Use(middleware.CORS())
|
||||
userCache := middleware.NewUserStatusCache()
|
||||
r.Use(middleware.CORS(cfg))
|
||||
|
||||
// ── Base path group ──────────────────────
|
||||
base := r.Group(cfg.BasePath)
|
||||
@@ -425,7 +426,7 @@ func main() {
|
||||
})
|
||||
|
||||
// WebSocket endpoint
|
||||
base.GET("/ws", middleware.Auth(cfg), hub.HandleWebSocket)
|
||||
base.GET("/ws", middleware.Auth(cfg, stores.Users, userCache), hub.HandleWebSocket)
|
||||
|
||||
// ── Auth routes (rate limited) ──────────────
|
||||
authMode, err := auth.ParseMode(cfg.AuthMode)
|
||||
@@ -508,7 +509,8 @@ func main() {
|
||||
|
||||
// ── Protected routes ────────────────────
|
||||
protected := api.Group("")
|
||||
protected.Use(middleware.Auth(cfg))
|
||||
protected.Use(middleware.Auth(cfg, stores.Users, userCache))
|
||||
protected.Use(middleware.ValidatePathParams())
|
||||
{
|
||||
// Channels
|
||||
channels := handlers.NewChannelHandler()
|
||||
@@ -948,10 +950,12 @@ func main() {
|
||||
|
||||
// ── Admin routes ────────────────────────
|
||||
admin := api.Group("/admin")
|
||||
admin.Use(middleware.Auth(cfg))
|
||||
admin.Use(middleware.Auth(cfg, stores.Users, userCache))
|
||||
admin.Use(middleware.RequireAdmin())
|
||||
admin.Use(middleware.ValidatePathParams())
|
||||
{
|
||||
adm := handlers.NewAdminHandler(stores, keyResolver, uekCache, objStore)
|
||||
adm.OnUserChanged(userCache.Evict)
|
||||
|
||||
// User management
|
||||
admin.GET("/users", adm.ListUsers)
|
||||
@@ -1165,17 +1169,17 @@ func main() {
|
||||
// v0.25.0: Surface routes generated from manifest registry.
|
||||
// Replaces manual per-surface route blocks.
|
||||
pageEngine.RegisterPageRoutes(base, pages.PageRouteMiddleware{
|
||||
Authenticated: middleware.AuthOrRedirect(cfg),
|
||||
Authenticated: middleware.AuthOrRedirect(cfg, stores.Users, userCache),
|
||||
Admin: []gin.HandlerFunc{
|
||||
middleware.AuthOrRedirect(cfg),
|
||||
middleware.AuthOrRedirect(cfg, stores.Users, userCache),
|
||||
middleware.RequireAdminPage(),
|
||||
},
|
||||
Session: middleware.AuthOrSession(cfg, stores),
|
||||
Session: middleware.AuthOrSession(cfg, stores, userCache),
|
||||
})
|
||||
|
||||
// Workflow API — session participants can send messages + trigger completions
|
||||
wfAPI := base.Group("/api/v1/w")
|
||||
wfAPI.Use(middleware.AuthOrSession(cfg, stores))
|
||||
wfAPI.Use(middleware.AuthOrSession(cfg, stores, userCache))
|
||||
{
|
||||
wfMsgs := handlers.NewMessageHandler(keyResolver, stores, hub, objStore)
|
||||
wfAPI.POST("/:id/messages", wfMsgs.CreateMessage)
|
||||
|
||||
Reference in New Issue
Block a user