mirror of
				https://github.com/teamhanko/hanko.git
				synced 2025-10-31 08:35:47 +08:00 
			
		
		
		
	 45cbd74314
			
		
	
	45cbd74314
	
	
	
		
			
			* add webhooks settings to config * add webhooks entity for database * add endpoints for webhooks * add worker for asynchronously executing webhooks * add trigger for events to user change/create/delete users/emails Closes #692
		
			
				
	
	
		
			26 lines
		
	
	
		
			683 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			683 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package middleware
 | |
| 
 | |
| import (
 | |
| 	"github.com/labstack/echo/v4"
 | |
| 	"github.com/teamhanko/hanko/backend/config"
 | |
| 	hankoJwk "github.com/teamhanko/hanko/backend/crypto/jwk"
 | |
| 	"github.com/teamhanko/hanko/backend/persistence"
 | |
| 	"github.com/teamhanko/hanko/backend/webhooks"
 | |
| )
 | |
| 
 | |
| func WebhookMiddleware(cfg *config.Config, jwkManager hankoJwk.Manager, persister persistence.WebhookPersister) echo.MiddlewareFunc {
 | |
| 	return func(next echo.HandlerFunc) echo.HandlerFunc {
 | |
| 		return func(ctx echo.Context) error {
 | |
| 
 | |
| 			manager, err := webhooks.NewManager(cfg, persister, jwkManager, ctx.Logger())
 | |
| 			if err != nil {
 | |
| 				return err
 | |
| 			}
 | |
| 
 | |
| 			ctx.Set("webhook_manager", manager)
 | |
| 
 | |
| 			return next(ctx)
 | |
| 		}
 | |
| 	}
 | |
| }
 |