diff options
Diffstat (limited to 'player-android/lib/router.dart')
| -rw-r--r-- | player-android/lib/router.dart | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/player-android/lib/router.dart b/player-android/lib/router.dart index 4c60d8d..7cf1823 100644 --- a/player-android/lib/router.dart +++ b/player-android/lib/router.dart @@ -20,6 +20,9 @@ import 'screens/share_screen.dart'; import 'screens/share_viewer_screen.dart'; import 'screens/my_shares_screen.dart'; import 'screens/notes_editor_screen.dart'; +import 'screens/admin_permissions_screen.dart'; +import 'screens/admin_rescan_screen.dart'; +import 'screens/admin_trash_screen.dart'; import 'screens/admin_users_screen.dart'; import 'screens/folder_browser_screen.dart'; import 'screens/video_player_screen.dart'; @@ -235,6 +238,28 @@ final routerProvider = Provider<GoRouter>((ref) { builder: (context, state) => const AdminUsersScreen(), ), GoRoute( + // Admin permission matrix — cross-table of users vs. sets with + // checkboxes for granting or revoking per-user set access. + // Admin-only; non-admin users receive 403 from the server if they + // somehow reach this route directly. + path: AppRoutes.adminPermissions, + builder: (context, state) => const AdminPermissionsScreen(), + ), + GoRoute( + // Admin rescan screen — triggers a library rescan and polls live + // progress until the scan completes. + // Admin-only; non-admin users receive 403 from the server. + path: AppRoutes.adminRescan, + builder: (context, state) => const AdminRescanScreen(), + ), + GoRoute( + // Admin trash screen — lists soft-deleted media items and allows + // restore or permanent deletion. + // Admin-only; non-admin users receive 403 from the server. + path: AppRoutes.adminTrash, + builder: (context, state) => const AdminTrashScreen(), + ), + GoRoute( // Folder browser — shows subfolders and media at the current path // within a set. The ':setId' path segment identifies the set; // the optional 'path' query parameter identifies the current subfolder |
