feat: Adds reset password views and view routes.

This commit is contained in:
2025-01-27 09:01:23 -05:00
parent 8a79ab0b02
commit f3ffdbf41b
10 changed files with 155 additions and 9 deletions

View File

@@ -40,6 +40,9 @@ public extension SiteRoute.View {
case let .purchaseOrder(route):
return try await route.view(isHtmxRequest: isHtmxRequest)
case let .resetPassword(route):
return try await route.view(isHtmxRequest: isHtmxRequest)
case let .user(route):
return try await route.view(isHtmxRequest: isHtmxRequest)
@@ -180,6 +183,22 @@ extension SiteRoute.View.PurchaseOrderRoute.Search {
}
}
extension SiteRoute.View.ResetPasswordRoute {
@Sendable
func view(isHtmxRequest: Bool) async throws -> AnySendableHTML {
@Dependency(\.database) var database
switch self {
case let .index(id: id):
return UserForm(context: .resetPassword(id: id))
case let .submit(id: id, request: request):
try await database.users.resetPassword(id, request)
let user = try await database.users.get(id)
return UserDetail(user: user)
}
}
}
extension SiteRoute.View.UserRoute {
private func mainPage<C: HTML>(_ html: C) async throws -> AnySendableHTML where C: Sendable {