feat: Removes old tests, fixes authentication middleware not working, view routes updated to not have delete routes and uses api routes for delete methods.
This commit is contained in:
51
Sources/App/Middleware/ViewRoute+middleware.swift
Normal file
51
Sources/App/Middleware/ViewRoute+middleware.swift
Normal file
@@ -0,0 +1,51 @@
|
||||
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 SharedModels.ViewRoute {
|
||||
|
||||
var middleware: [any Middleware]? {
|
||||
switch self {
|
||||
// case .index: return viewProtectedMiddleware
|
||||
case let .employee(route): return route.middleware
|
||||
case .login: return nil
|
||||
case let .purchaseOrder(route): return route.middleware
|
||||
case let .user(route): return route.middleware
|
||||
case let .vendor(route): return route.middleware
|
||||
case let .vendorBranch(route): return route.middleware
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension SharedModels.ViewRoute.EmployeeRoute {
|
||||
|
||||
var middleware: [any Middleware]? { viewProtectedMiddleware }
|
||||
}
|
||||
|
||||
extension SharedModels.ViewRoute.PurchaseOrderRoute {
|
||||
var middleware: [any Middleware]? { viewProtectedMiddleware }
|
||||
}
|
||||
|
||||
extension SharedModels.ViewRoute.UserRoute {
|
||||
var middleware: [any Middleware]? {
|
||||
viewProtectedMiddleware
|
||||
}
|
||||
}
|
||||
|
||||
extension SharedModels.ViewRoute.VendorRoute {
|
||||
var middleware: [any Middleware]? { viewProtectedMiddleware }
|
||||
}
|
||||
|
||||
extension SharedModels.ViewRoute.VendorBranchRoute {
|
||||
var middleware: [any Middleware]? { viewProtectedMiddleware }
|
||||
}
|
||||
Reference in New Issue
Block a user