Files
vapor-po/Sources/App/Middleware/ViewRoute+middleware.swift

29 lines
559 B
Swift

import DatabaseClientLive
import Dependencies
import Elementary
import SharedModels
import Vapor
private let viewProtectedMiddleware: [any Middleware] = [
UserPasswordAuthenticator(),
UserSessionAuthenticator(),
User.redirectMiddleware { req in
"/login?next=\(req.url.string)"
}
]
extension SiteRoute.View {
var middleware: [any Middleware]? {
switch self {
case .employee,
.purchaseOrder,
.user,
.vendor,
.vendorBranch:
return viewProtectedMiddleware
case .login: return nil
}
}
}