feat: Refactoring routes to use shared / base routes.

This commit is contained in:
2025-01-21 16:00:16 -05:00
parent 20e58114c0
commit 66074d66f4
15 changed files with 445 additions and 227 deletions

View File

@@ -16,22 +16,22 @@ extension ApiRoute {
func handle(request: Request) async throws -> any AsyncResponseEncodable {
switch self {
case let .employee(route):
return try await route.handle(request: request)
return try await route.handleApiRequest(request: request)
case let .purchaseOrder(route):
return try await route.handle(request: request)
return try await route.handleApiRequest(request: request)
case let .user(route):
return try await route.handle(request: request)
return try await route.handleApiRequest(request: request)
case let .vendor(route):
return try await route.handle(request: request)
return try await route.handleApiRequest(request: request)
case let .vendorBranch(route):
return try await route.handle(request: request)
return try await route.handleApiRequest(request: request)
}
}
}
extension ApiRoute.EmployeeApiRoute {
extension BaseRoute.EmployeeRoute {
func handle(request: Request) async throws -> any AsyncResponseEncodable {
func handleApiRequest(request: Request) async throws -> any AsyncResponseEncodable {
@Dependency(\.database) var database
switch self {
case let .create(employee):
@@ -52,9 +52,9 @@ extension ApiRoute.EmployeeApiRoute {
}
}
extension ApiRoute.PurchaseOrderApiRoute {
extension BaseRoute.PurchaseOrderRoute {
func handle(request: Request) async throws -> any AsyncResponseEncodable {
func handleApiRequest(request: Request) async throws -> any AsyncResponseEncodable {
@Dependency(\.database.purchaseOrders) var purchaseOrders
switch self {
case .index:
@@ -76,9 +76,9 @@ extension ApiRoute.PurchaseOrderApiRoute {
}
// TODO: Add Login.
extension ApiRoute.UserApiRoute {
extension BaseRoute.UserRoute {
func handle(request: Request) async throws -> any AsyncResponseEncodable {
func handleApiRequest(request: Request) async throws -> any AsyncResponseEncodable {
@Dependency(\.database.users) var users
switch self {
case let .create(user):
@@ -101,8 +101,8 @@ extension ApiRoute.UserApiRoute {
}
}
extension ApiRoute.VendorApiRoute {
func handle(request: Request) async throws -> any AsyncResponseEncodable {
extension BaseRoute.VendorRoute {
func handleApiRequest(request: Request) async throws -> any AsyncResponseEncodable {
@Dependency(\.database.vendors) var vendors
switch self {
case let .create(vendor):
@@ -126,8 +126,8 @@ extension ApiRoute.VendorApiRoute {
}
}
extension ApiRoute.VendorBranchApiRoute {
func handle(request: Request) async throws -> any AsyncResponseEncodable {
extension BaseRoute.VendorBranchRoute {
func handleApiRequest(request: Request) async throws -> any AsyncResponseEncodable {
@Dependency(\.database.vendorBranches) var vendorBranches
switch self {
case let .create(branch):