fix: Fixes purchase order view generation to use the intermediate request and the logged in user as the created by id.
This commit is contained in:
@@ -16,6 +16,7 @@ public typealias AnySendableHTML = (any HTML & Sendable)
|
||||
@DependencyClient
|
||||
public struct ViewController: Sendable {
|
||||
public typealias AuthenticateHandler = @Sendable (User) -> Void
|
||||
public typealias CurrentUserHandler = @Sendable () throws -> User
|
||||
|
||||
public var view: @Sendable (Request) async throws -> AnySendableHTML
|
||||
|
||||
@@ -24,9 +25,16 @@ public struct ViewController: Sendable {
|
||||
for route: SiteRoute.View,
|
||||
isHtmxRequest: Bool,
|
||||
logger: Logger,
|
||||
authenticate: @escaping AuthenticateHandler
|
||||
authenticate: @escaping AuthenticateHandler,
|
||||
currentUser: @escaping CurrentUserHandler
|
||||
) async throws -> AnySendableHTML {
|
||||
try await view(.init(route, isHtmxRequest: isHtmxRequest, authenticate: authenticate, logger: logger))
|
||||
try await view(.init(
|
||||
route,
|
||||
isHtmxRequest: isHtmxRequest,
|
||||
authenticate: authenticate,
|
||||
logger: logger,
|
||||
currentUser: currentUser
|
||||
))
|
||||
}
|
||||
|
||||
public struct Request: Sendable {
|
||||
@@ -34,17 +42,20 @@ public struct ViewController: Sendable {
|
||||
public let isHtmxRequest: Bool
|
||||
public let authenticate: AuthenticateHandler
|
||||
public let logger: Logger
|
||||
public let currentUser: CurrentUserHandler
|
||||
|
||||
public init(
|
||||
_ route: SiteRoute.View,
|
||||
isHtmxRequest: Bool,
|
||||
authenticate: @escaping AuthenticateHandler,
|
||||
logger: Logger
|
||||
logger: Logger,
|
||||
currentUser: @escaping CurrentUserHandler
|
||||
) {
|
||||
self.route = route
|
||||
self.isHtmxRequest = isHtmxRequest
|
||||
self.authenticate = authenticate
|
||||
self.logger = logger
|
||||
self.currentUser = currentUser
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user