feat: Working vendor views, does need some tweeks to user experience.
This commit is contained in:
@@ -2,23 +2,22 @@ import DatabaseClientLive
|
||||
import SharedModels
|
||||
import Vapor
|
||||
|
||||
// TODO: Fix before production.
|
||||
|
||||
extension RoutesBuilder {
|
||||
|
||||
// Used to ensure views are protected, redirects users to the login page if they're
|
||||
// not authenticated.
|
||||
var protected: any RoutesBuilder {
|
||||
// #if DEBUG
|
||||
// return self
|
||||
// #else
|
||||
return grouped(
|
||||
UserPasswordAuthenticator(),
|
||||
UserTokenAuthenticator(),
|
||||
UserSessionAuthenticator(),
|
||||
User.redirectMiddleware { req in
|
||||
"login?next=\(req.url)"
|
||||
}
|
||||
)
|
||||
// #endif
|
||||
return self
|
||||
// return grouped(
|
||||
// UserPasswordAuthenticator(),
|
||||
// UserTokenAuthenticator(),
|
||||
// UserSessionAuthenticator(),
|
||||
// User.redirectMiddleware { req in
|
||||
// "login?next=\(req.url)"
|
||||
// }
|
||||
// )
|
||||
}
|
||||
|
||||
func apiUnprotected(route: PathComponent) -> any RoutesBuilder {
|
||||
@@ -28,15 +27,12 @@ extension RoutesBuilder {
|
||||
// Allows basic or token authentication for api routes and prefixes the
|
||||
// given route with "/api/v1".
|
||||
func apiProtected(route: PathComponent) -> any RoutesBuilder {
|
||||
// #if DEBUG
|
||||
// return apiUnprotected(route: route)
|
||||
// #else
|
||||
let prefixed = grouped("api", "v1", route)
|
||||
return prefixed.grouped(
|
||||
UserPasswordAuthenticator(),
|
||||
UserTokenAuthenticator(),
|
||||
User.guardMiddleware()
|
||||
)
|
||||
// #endif
|
||||
return apiUnprotected(route: route)
|
||||
// let prefixed = grouped("api", "v1", route)
|
||||
// return prefixed.grouped(
|
||||
// UserPasswordAuthenticator(),
|
||||
// UserTokenAuthenticator(),
|
||||
// User.guardMiddleware()
|
||||
// )
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user