feat: Fixes release build failures and get's release dockerfile working.

This commit is contained in:
2025-01-24 16:47:00 -05:00
parent 90c6058d56
commit 978ce8c74f
38 changed files with 233 additions and 217 deletions

View File

@@ -8,6 +8,7 @@ import ViewController
public extension SharedModels.ViewRoute {
@Sendable
func view(
isHtmxRequest: Bool,
logger: Logger,
@@ -55,9 +56,10 @@ extension SharedModels.ViewRoute.EmployeeRoute {
private func mainPage<C: HTML>(
_ html: C
) async throws -> some SendableHTMLDocument where C: Sendable {
) async throws -> AnySendableHTML where C: Sendable {
@Dependency(\.database) var database
let employees = try await database.employees.fetchAll()
// return EmployeeMainPage(employees: employees, html: html)
return MainPage(displayNav: true, route: .employees) {
div(.class("container")) {
html
@@ -66,6 +68,7 @@ extension SharedModels.ViewRoute.EmployeeRoute {
}
}
@Sendable
func view(isHtmxRequest: Bool) async throws -> AnySendableHTML {
@Dependency(\.database.employees) var employees
@@ -98,7 +101,7 @@ extension SharedModels.ViewRoute.EmployeeRoute {
extension SharedModels.ViewRoute.PurchaseOrderRoute {
private func mainPage<C: HTML>(
_ html: C
) async throws -> some SendableHTMLDocument where C: Sendable {
) async throws -> AnySendableHTML where C: Sendable {
@Dependency(\.database.purchaseOrders) var purchaseOrders
let page = try await purchaseOrders.fetchPage(.init(page: 1, per: 25))
return MainPage(displayNav: true, route: .purchaseOrders) {
@@ -109,6 +112,7 @@ extension SharedModels.ViewRoute.PurchaseOrderRoute {
}
}
@Sendable
func view(isHtmxRequest: Bool) async throws -> AnySendableHTML {
@Dependency(\.database.purchaseOrders) var purchaseOrders
@@ -146,7 +150,7 @@ extension SharedModels.ViewRoute.PurchaseOrderRoute {
extension SharedModels.ViewRoute.PurchaseOrderRoute.Search {
func mainPage(search: PurchaseOrderSearch = .init()) -> some SendableHTMLDocument {
func mainPage(search: PurchaseOrderSearch = .init()) -> AnySendableHTML {
MainPage(displayNav: true, route: .purchaseOrders) {
div(.class("container"), .id("purchase-order-content")) {
search
@@ -158,6 +162,7 @@ extension SharedModels.ViewRoute.PurchaseOrderRoute.Search {
}
}
@Sendable
func view(isHtmxRequest: Bool) async throws -> AnySendableHTML {
@Dependency(\.database) var database
switch self {
@@ -177,7 +182,7 @@ extension SharedModels.ViewRoute.PurchaseOrderRoute.Search {
extension SharedModels.ViewRoute.UserRoute {
private func mainPage<C: HTML>(_ html: C) async throws -> some SendableHTMLDocument where C: Sendable {
private func mainPage<C: HTML>(_ html: C) async throws -> AnySendableHTML where C: Sendable {
@Dependency(\.database) var database
let users = try await database.users.fetchAll()
return MainPage(displayNav: true, route: .users) {
@@ -188,6 +193,7 @@ extension SharedModels.ViewRoute.UserRoute {
}
}
@Sendable
func view(isHtmxRequest: Bool) async throws -> AnySendableHTML {
@Dependency(\.database.users) var users
@@ -215,7 +221,7 @@ extension SharedModels.ViewRoute.UserRoute {
}
extension SharedModels.ViewRoute.VendorRoute {
private func mainPage<C: HTML>(_ html: C) async throws -> some SendableHTMLDocument where C: Sendable {
private func mainPage<C: HTML>(_ html: C) async throws -> AnySendableHTML where C: Sendable {
@Dependency(\.database) var database
let vendors = try await database.vendors.fetchAll(.withBranches)
return MainPage(displayNav: true, route: .vendors) {
@@ -226,6 +232,7 @@ extension SharedModels.ViewRoute.VendorRoute {
}
}
@Sendable
func view(isHtmxRequest: Bool) async throws -> AnySendableHTML {
@Dependency(\.database) var database
@@ -262,6 +269,7 @@ extension SharedModels.ViewRoute.VendorRoute {
extension SharedModels.ViewRoute.VendorBranchRoute {
@Sendable
func view(isHtmxRequest: Bool) async throws -> AnySendableHTML {
@Dependency(\.database) var database
@@ -286,6 +294,7 @@ extension SharedModels.ViewRoute.VendorBranchRoute {
extension SharedModels.ViewRoute.PurchaseOrderRoute.Search.Request {
@Sendable
func toDatabaseQuery() throws -> PurchaseOrder.SearchContext {
switch context {
case .employee:
@@ -308,6 +317,8 @@ extension SharedModels.ViewRoute.PurchaseOrderRoute.Search.Request {
}
extension SharedModels.ViewRoute.SelectContext {
@Sendable
func toHTML(employees: [Employee]) -> EmployeeSelect {
switch self {
case .purchaseOrderForm:
@@ -327,8 +338,9 @@ extension SharedModels.ViewRoute.SelectContext {
}
}
@Sendable
private func render<C: HTML>(
_ mainPage: (C) async throws -> any SendableHTMLDocument,
_ mainPage: (C) async throws -> AnySendableHTML,
_ isHtmxRequest: Bool,
@HTMLBuilder html: () -> C
) async rethrows -> AnySendableHTML where C: Sendable {
@@ -338,8 +350,9 @@ private func render<C: HTML>(
return html()
}
@Sendable
private func render<C: HTML>(
_ mainPage: (C) async throws -> any SendableHTMLDocument,
_ mainPage: (C) async throws -> AnySendableHTML,
_ isHtmxRequest: Bool,
_ html: @autoclosure @escaping () -> C
) async rethrows -> AnySendableHTML where C: Sendable {