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

@@ -7,13 +7,14 @@ import Vapor
private let apiMiddleware: [any Middleware] = [
UserPasswordAuthenticator(),
UserTokenAuthenticator(),
UserSessionAuthenticator(),
User.guardMiddleware()
]
extension ApiRoute {
var middleware: [any Middleware]? { apiMiddleware }
func handle(request: Request) async throws -> any AsyncResponseEncodable {
func respond(request: Request) async throws -> any AsyncResponseEncodable {
switch self {
case let .employee(route):
return try await route.handleApiRequest(request: request)

View File

@@ -1,51 +0,0 @@
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 }
}