feat: Starting users view controller.
This commit is contained in:
36
Sources/App/Controllers/UsersViewController.swift
Normal file
36
Sources/App/Controllers/UsersViewController.swift
Normal file
@@ -0,0 +1,36 @@
|
||||
import Fluent
|
||||
import Vapor
|
||||
|
||||
struct UserViewController: RouteCollection {
|
||||
|
||||
private let api = ApiController()
|
||||
|
||||
func boot(routes: any RoutesBuilder) throws {
|
||||
let users = routes.protected.grouped("users")
|
||||
users.get(use: index(req:))
|
||||
}
|
||||
|
||||
@Sendable
|
||||
func index(req: Request) async throws -> View {
|
||||
let users = try await api.usersIndex(req: req)
|
||||
return try await req.view.render("users", ["users": users])
|
||||
}
|
||||
}
|
||||
|
||||
struct UserFormCTX: Content {
|
||||
let htmxTargetUrl: String
|
||||
let htmxTarget: String
|
||||
let htmxPushUrl: String
|
||||
let showConfirmPassword: Bool
|
||||
let buttonLabel: String
|
||||
|
||||
static func signIn(route: String) -> Self {
|
||||
.init(
|
||||
htmxTargetUrl: route,
|
||||
htmxTarget: "body",
|
||||
htmxPushUrl: "true",
|
||||
showConfirmPassword: false,
|
||||
buttonLabel: "Sign In"
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user