feat: Mostly working user view with elementary html.
This commit is contained in:
@@ -1,3 +1,42 @@
|
||||
import DatabaseClient
|
||||
import Dependencies
|
||||
import Elementary
|
||||
import SharedModels
|
||||
import Vapor
|
||||
import VaporElementary
|
||||
|
||||
struct UserViewController: RouteCollection {
|
||||
|
||||
@Dependency(\.database.users) var users
|
||||
|
||||
func boot(routes: any RoutesBuilder) throws {
|
||||
// let users = routes.protected.grouped("users")
|
||||
let users = routes.grouped("users")
|
||||
users.get(use: index)
|
||||
users.group(":id") {
|
||||
$0.get(use: get)
|
||||
}
|
||||
}
|
||||
|
||||
@Sendable
|
||||
func index(req: Request) async throws -> HTMLResponse {
|
||||
HTMLResponse {
|
||||
MainPage(route: .users) {
|
||||
div(.class("container")) {
|
||||
UserDetail(user: nil)
|
||||
UserTable()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Sendable
|
||||
func get(req: Request) async throws -> HTMLResponse {
|
||||
let user = try await users.get(req.ensureIDPathComponent())
|
||||
return HTMLResponse { UserDetail(user: user) }
|
||||
}
|
||||
}
|
||||
|
||||
// import Dependencies
|
||||
// import Fluent
|
||||
// import Vapor
|
||||
|
||||
Reference in New Issue
Block a user