import ManagableUsers import Vapor func routes(_ app: Application) throws { let sessioned = app.grouped (app.sessions.middleware) .grouped (BasicUser.sessionAuthenticator()) let loggedIn = sessioned .grouped (BasicUser.redirectMiddleware (path: "auth/login")) let api = sessioned .grouped("api") AuthenticationController().routes (sessioned, api: api) AdminController().routes (loggedIn, api: api) loggedIn.get { req async throws in try await req.view.render("welcome", ["user": req.auth.get (BasicUser.self)]) } }