Removi aquela bagunça que estava no app.php. Para isso eu transformei os controllers em ControllersProviders e dei ao metodo "mount" deles a responsabilidade de mapear suas rotas, assim fica mais fácil saber onde configurar o que.
Dei uma turbinada no BaseController e adicionei 4 métodos estáticos para controlar quem pode acessar o que (isso era feito atachando-se callbacks em todas as rotas manualmente)
getPublicActions()
retorna um array com as actions públicas do controller
isPublic($action)
Boolean. Verifica se uma determinada action é pública naquele controller
getGuestActions()
similar ao getPublicActions, porém, controla se a action pode ser acessada por um usuário que não seja um administrador
isGuest($action)
Mesma coisa do que o isPublic, porém para usuários guest.
As demais rotas obrigam o usuário a ser um administrador.
Removi aquela bagunça que estava no app.php. Para isso eu transformei os controllers em ControllersProviders e dei ao metodo "mount" deles a responsabilidade de mapear suas rotas, assim fica mais fácil saber onde configurar o que.
Dei uma turbinada no BaseController e adicionei 4 métodos estáticos para controlar quem pode acessar o que (isso era feito atachando-se callbacks em todas as rotas manualmente)
As demais rotas obrigam o usuário a ser um administrador.