import DatabaseClient import Fluent import ManualDCore import Vapor private let viewRouteMiddleware: [any Middleware] = [ UserPasswordAuthenticator(), UserSessionAuthenticator(), User.redirectMiddleware { req in "/login?next=\(req.url.string)" }, ] extension SiteRoute.View { var middleware: [any Middleware]? { switch self { case .project, .effectiveLength: return viewRouteMiddleware case .login, .signup: return nil } } }