feat: Starting users view controller.

This commit is contained in:
2025-01-08 08:02:29 -05:00
parent e86e5facc6
commit 3557227430
5 changed files with 83 additions and 30 deletions

View File

@@ -6,6 +6,7 @@ struct ViewController: RouteCollection {
private let api = ApiController()
private let employees = EmployeeViewController()
private let users = UserViewController()
func boot(routes: any RoutesBuilder) throws {
let protected = routes.protected
@@ -20,15 +21,16 @@ struct ViewController: RouteCollection {
protected.get(use: home(req:))
protected.post("logout", use: logout(req:))
protected.get("users", use: users(req:))
// protected.get("users", use: users(req:))
try routes.register(collection: employees)
try routes.register(collection: users)
}
@Sendable
func getLogin(req: Request) async throws -> View {
req.logger.info("Query: \(req.url.query ?? "n/a")")
req.logger.debug("Login Query: \(req.url.query ?? "n/a")")
let params = try? req.query.decode(LoginParameter.self)
return try await req.view.render("login", ["route": params?.next ?? "/"])
return try await req.view.render("login", UserFormCTX.signIn(route: params?.next ?? "/"))
}
@Sendable
@@ -65,18 +67,12 @@ struct ViewController: RouteCollection {
switch route {
case .users:
return try await users(req: req)
return try await users.index(req: req)
case .employees:
return try await employees.employees(req: req)
return try await employees.index(req: req)
}
}
@Sendable
func users(req: Request) async throws -> View {
let users = try await api.usersIndex(req: req)
return try await req.view.render("users", ["users": users])
}
}
private struct UserForm: Content {