Я разрабатываю зарезервированную область, которая имеет следующие несколько страниц:
/dashboard
/dashboard/profile
/dashboard/user
/dashboard/view
- это простая панель управления пользователя.На данный момент у меня есть четыре маршрута:
app.all('/dashboard', function(req, res, next) { /* Code */ });
app.all('/dashboard/profile', function(req, res, next) { /* Code */ });
app.all('/dashboard/user', function(req, res, next) { /* Code */ });
app.all('/dashboard/view', function(req, res, next) { /* Code */ });
Я хотел бы оптимизировать его, потому что на каждом из вышеперечисленных маршрутов я должен вызывать эту функцию в начале:
authorized(req, function(auth){
if (!auth) return next(errors.fire(403));
/* route code */
});
ThisФункция проверяет, зарегистрирован ли пользователь, поэтому мне нужно вызывать его на каждой зарезервированной странице.
Я бы сделал что-то вроде:
app.all('/dashboard/*', function(req, res, next) {
authorized(req, function(auth){
if (!auth) return next(errors.fire(403));
res.render(something, {})
});
});
something
внутри вызова res.renderдолжен быть вид (страница) мне нужно открыть.
Я хочу назвать это ОДИН раз, чтобы удалить избыточный код.
Это может быть домашняя страница панели (если пользователь хочет / панель инструментов) или страница(если пользователь хочет страницу внутри / приборной панели, как / приборная панель / профиль), в последнем случае мне нужно визуализировать представление «профиль».
(я должен сделать проверку перед передачей представления для render ()потому что, если кто-то попробует / dashboard / blablablabla, это должно быть проблемой.)
Спасибо