feat: Refactoring route declarations.

This commit is contained in:
2025-01-26 01:16:59 -05:00
parent 0fad024350
commit 4dc928e1f4
34 changed files with 592 additions and 606 deletions

View File

@@ -74,7 +74,7 @@ struct EmployeeForm: HTML {
return "Update"
}
private var targetURL: SharedModels.ViewRoute {
private var targetURL: SiteRoute.View {
guard let employee else { return .employee(.index) }
return .employee(.get(id: employee.id))
}

View File

@@ -4,23 +4,23 @@ import SharedModels
extension HTMLAttribute.hx {
@Sendable
static func get(route: SharedModels.ViewRoute) -> HTMLAttribute {
get(SharedModels.ViewRoute.router.path(for: route))
static func get(route: SiteRoute.View) -> HTMLAttribute {
get(SiteRoute.View.router.path(for: route))
}
@Sendable
static func post(route: SharedModels.ViewRoute) -> HTMLAttribute {
post(SharedModels.ViewRoute.router.path(for: route))
static func post(route: SiteRoute.View) -> HTMLAttribute {
post(SiteRoute.View.router.path(for: route))
}
@Sendable
static func put(route: SharedModels.ViewRoute) -> HTMLAttribute {
put(SharedModels.ViewRoute.router.path(for: route))
static func put(route: SiteRoute.View) -> HTMLAttribute {
put(SiteRoute.View.router.path(for: route))
}
@Sendable
static func delete(route: SharedModels.ApiRoute) -> HTMLAttribute {
delete(SharedModels.ApiRoute.router.path(for: route))
static func delete(route: SiteRoute.Api) -> HTMLAttribute {
delete(SiteRoute.Api.router.path(for: route))
}
}
@@ -65,8 +65,8 @@ indirect enum HXOnValue: Sendable {
}
@Sendable
static func setWindowLocation(to route: ViewRoute) -> Self {
setWindowLocation(ViewRoute.router.path(for: route))
static func setWindowLocation(to route: SiteRoute.View) -> Self {
setWindowLocation(SiteRoute.View.router.path(for: route))
}
@Sendable

View File

@@ -53,7 +53,7 @@ struct LoggedIn: HTML, Sendable {
let next: String?
var content: some HTML {
div(
.hx.get(nextRoute ?? ViewRoute.router.path(for: .purchaseOrder(.index))),
.hx.get(nextRoute ?? SiteRoute.View.router.path(for: .purchaseOrder(.index))),
.hx.pushURL(true),
.hx.target(.body),
.hx.trigger(.event(.revealed)),
@@ -66,7 +66,9 @@ struct LoggedIn: HTML, Sendable {
// HACK: to get search route to work after login.
var nextRoute: String? {
if let next, next.contains("search") {
return ViewRoute.router.path(for: .purchaseOrder(.search(.index(context: .employee, table: true))))
return SiteRoute.View.router.path(
for: .purchaseOrder(.search(.index(context: .employee, table: true)))
)
}
return next
}

View File

@@ -5,7 +5,7 @@ import Vapor
struct PurchaseOrderSearch: HTML, Sendable {
typealias Context = SharedModels.ViewRoute.PurchaseOrderRoute.Search.Context
typealias Context = SiteRoute.View.PurchaseOrderRoute.Search.Context
let context: Context

View File

@@ -5,7 +5,7 @@ import SharedModels
import Vapor
struct PurchaseOrderTable: HTML, Sendable {
typealias SearchContext = SharedModels.ViewRoute.PurchaseOrderRoute.Search.Context
typealias SearchContext = SiteRoute.View.PurchaseOrderRoute.Search.Context
let page: Page<PurchaseOrder>
let context: Context

View File

@@ -101,7 +101,7 @@ struct UserForm: HTML, Sendable {
}
}
var targetURL: ViewRoute {
var targetURL: SiteRoute.View {
switch self {
case .create:
return .user(.index)

View File

@@ -22,10 +22,10 @@ enum Button {
}
@Sendable
static func close(id: IDKey, resetURL route: ViewRoute? = nil) -> some HTML<HTMLTag.button> {
static func close(id: IDKey, resetURL route: SiteRoute.View? = nil) -> some HTML<HTMLTag.button> {
close(
id: id.description,
resetURL: route != nil ? ViewRoute.router.path(for: route!) : nil
resetURL: route != nil ? SiteRoute.View.router.path(for: route!) : nil
)
}

View File

@@ -62,7 +62,7 @@ extension Float where B == DefaultCloseButton {
init(
id: String = "float",
shouldDisplay: Bool,
resetURL route: ViewRoute? = nil,
resetURL route: SiteRoute.View? = nil,
@HTMLBuilder body: () -> C
) {
self.init(
@@ -71,7 +71,7 @@ extension Float where B == DefaultCloseButton {
body: body,
closeButton: { DefaultCloseButton(
id: id,
resetURL: route != nil ? ViewRoute.router.path(for: route!) : nil
resetURL: route != nil ? SiteRoute.View.router.path(for: route!) : nil
) }
)
}

View File

@@ -6,7 +6,7 @@ import Vapor
struct EmployeeSelect: HTML, Sendable {
let employees: [Employee]?
let context: ViewRoute.SelectContext
let context: SiteRoute.View.SelectContext
var content: some HTML {
if let employees {
@@ -42,7 +42,7 @@ struct EmployeeSelect: HTML, Sendable {
struct VendorBranchSelect: HTML, Sendable {
let branches: [VendorBranch.Detail]?
let context: ViewRoute.SelectContext
let context: SiteRoute.View.SelectContext
var content: some HTML {
if let branches {
@@ -79,7 +79,7 @@ struct VendorBranchSelect: HTML, Sendable {
// case purchaseOrderForm
// case purchaseOrderSearch
extension ViewRoute.SelectContext {
extension SiteRoute.View.SelectContext {
var classString: String {
switch self {
case .purchaseOrderForm: return "col-3"

View File

@@ -85,7 +85,7 @@ struct VendorForm: HTML, Sendable {
return "Update"
}
var targetURL: SharedModels.ViewRoute {
var targetURL: SiteRoute.View {
guard let vendor else { return .vendor(.index) }
return .vendor(.get(id: vendor.id))
}