Files
tesseract/internal/workspace/middleware.go

27 lines
625 B
Go
Raw Normal View History

2024-11-20 21:05:31 +00:00
package workspace
import (
"tesseract/internal/service"
2024-11-29 23:52:19 +00:00
"github.com/labstack/echo/v4"
2024-11-20 21:05:31 +00:00
)
func newWorkspaceManagerMiddleware(services service.Services) echo.MiddlewareFunc {
mgr := workspaceManager{
db: services.Database,
dockerClient: services.DockerClient,
reverseProxy: services.ReverseProxy,
sshProxy: services.SSHProxy,
}
return func(next echo.HandlerFunc) echo.HandlerFunc {
return func(c echo.Context) error {
c.Set("workspaceManager", mgr)
return next(c)
}
}
}
func workspaceManagerFrom(c echo.Context) workspaceManager {
return c.Get("workspaceManager").(workspaceManager)
}