From 79bb186234d54ec365af342a4e03c2869f6bcf55 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20G=C3=BCnther?=
Date: Sun, 21 Jun 2026 16:44:01 +0200
Subject: [PATCH] Added admin layout
---
.../Controllers/AdminDashboardController.php | 17 ++++++++++++
app/Domains/Admin/Routes/web.php | 12 +++++++++
app/Domains/Admin/Views/Dashboard.vue | 15 +++++++++++
app/Middleware/AdminRoleMiddleware.php | 26 +++++++++++++++++++
4 files changed, 70 insertions(+)
create mode 100644 app/Domains/Admin/Controllers/AdminDashboardController.php
create mode 100644 app/Domains/Admin/Routes/web.php
create mode 100644 app/Domains/Admin/Views/Dashboard.vue
create mode 100644 app/Middleware/AdminRoleMiddleware.php
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 @@
+
+
+
+
+
+ Administration
+
+
+
+
+
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);
+ }
+}