diff --git a/app/Domains/Admin/Controllers/AdminDashboardController.php b/app/Domains/Admin/Controllers/AdminDashboardController.php new file mode 100644 index 0000000..23853fa --- /dev/null +++ b/app/Domains/Admin/Controllers/AdminDashboardController.php @@ -0,0 +1,17 @@ +render(); + } +} diff --git a/app/Domains/Admin/Routes/web.php b/app/Domains/Admin/Routes/web.php new file mode 100644 index 0000000..b8aa45c --- /dev/null +++ b/app/Domains/Admin/Routes/web.php @@ -0,0 +1,12 @@ +group(function () { + Route::prefix('admin')->group(function () { + Route::get('/', AdminDashboardController::class); + }); +}); diff --git a/app/Domains/Admin/Views/Dashboard.vue b/app/Domains/Admin/Views/Dashboard.vue new file mode 100644 index 0000000..b403e2b --- /dev/null +++ b/app/Domains/Admin/Views/Dashboard.vue @@ -0,0 +1,15 @@ + + + + + diff --git a/app/Middleware/AdminRoleMiddleware.php b/app/Middleware/AdminRoleMiddleware.php new file mode 100644 index 0000000..c84a9a6 --- /dev/null +++ b/app/Middleware/AdminRoleMiddleware.php @@ -0,0 +1,26 @@ +check()) { + return redirect('/login')->with('message', 'Du musst eingeloggt sein.'); + } + + $authCheck = new AuthCheckProvider(); + $role = $authCheck->getUserRole(); + + if (!in_array($role, [UserRole::USER_ROLE_ADMIN, UserRole::USER_ROLE_GROUP_LEADER], true)) { + return redirect('/')->with('message', 'Du bist dazu nicht berechtigt.'); + } + + return $next($request); + } +}