manageable-users/Sources/SampleApp/routes.swift

19 lines
601 B
Swift

import ManageableUsers
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<BasicUser>().routes (sessioned, api: api)
AdminController<BasicUser>().routes (loggedIn, api: api)
loggedIn.get { req async throws in
try await req.view.render("welcome", ["user": req.auth.get (BasicUser.self)])
}
}