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:
2025-01-24 10:55:59 -05:00
parent aa60f69758
commit 90c6058d56
37 changed files with 146 additions and 564 deletions

View 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 }
}