feat: Initial commit

This commit is contained in:
2025-02-25 12:01:47 -05:00
parent 3c0c100e50
commit a289075e75
2557 changed files with 379222 additions and 47 deletions

View File

@@ -0,0 +1,44 @@
import ApiControllerLive
import Dependencies
@preconcurrency import PsychrometricClientLive
import Vapor
import ViewControllerLive
// Taken from discussions page on `swift-dependencies`.
struct DependenciesMiddleware: AsyncMiddleware {
private let values: DependencyValues.Continuation
private let apiController: ApiController
private let psychrometricClient: PsychrometricClient
// private let database: DatabaseClient
private let viewController: ViewController
init(
// database: DatabaseClient,
apiController: ApiController = .liveValue,
psychrometricClient: PsychrometricClient = .liveValue,
viewController: ViewController = .liveValue
) {
self.values = withEscapedDependencies { $0 }
self.apiController = apiController
// self.database = database
self.psychrometricClient = psychrometricClient
self.viewController = viewController
}
func respond(to request: Request, chainingTo next: any AsyncResponder) async throws -> Response {
try await values.yield {
try await withDependencies {
$0.apiController = apiController
// $0.database = database
// $0.dateFormatter = .liveValue
$0.psychrometricClient = psychrometricClient
$0.viewController = viewController
} operation: {
try await next.respond(to: request)
}
}
}
}