feature/payment #77
@ -28,32 +28,15 @@ import 'package:marco/view/tenant/tenant_create_screen.dart';
|
|||||||
class AuthMiddleware extends GetMiddleware {
|
class AuthMiddleware extends GetMiddleware {
|
||||||
@override
|
@override
|
||||||
RouteSettings? redirect(String? route) {
|
RouteSettings? redirect(String? route) {
|
||||||
// ✅ Public routes that don't require authentication
|
|
||||||
const publicRoutes = [
|
|
||||||
'/auth/login-option',
|
|
||||||
'/auth/login',
|
|
||||||
'/subscription',
|
|
||||||
'/payment',
|
|
||||||
'/select-tenant',
|
|
||||||
'/create-tenant',
|
|
||||||
];
|
|
||||||
|
|
||||||
// ✅ Allow any route that starts with these public routes
|
|
||||||
if (route != null &&
|
|
||||||
publicRoutes.any((public) => route.startsWith(public))) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ✅ Block others if not logged in
|
|
||||||
if (!AuthService.isLoggedIn) {
|
if (!AuthService.isLoggedIn) {
|
||||||
|
if (route != '/auth/login-option') {
|
||||||
return const RouteSettings(name: '/auth/login-option');
|
return const RouteSettings(name: '/auth/login-option');
|
||||||
}
|
}
|
||||||
|
} else if (!TenantService.isTenantSelected) {
|
||||||
// ✅ Ensure tenant is selected after login
|
if (route != '/select-tenant') {
|
||||||
if (!TenantService.isTenantSelected) {
|
|
||||||
return const RouteSettings(name: '/select-tenant');
|
return const RouteSettings(name: '/select-tenant');
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -79,10 +62,10 @@ getPageRoute() {
|
|||||||
name: '/dashboard/attendance',
|
name: '/dashboard/attendance',
|
||||||
page: () => AttendanceScreen(),
|
page: () => AttendanceScreen(),
|
||||||
middlewares: [AuthMiddleware()]),
|
middlewares: [AuthMiddleware()]),
|
||||||
// GetPage(
|
GetPage(
|
||||||
// name: '/dashboard',
|
name: '/dashboard',
|
||||||
// page: () => DashboardScreen(),
|
page: () => DashboardScreen(),
|
||||||
// middlewares: [AuthMiddleware()]),
|
middlewares: [AuthMiddleware()]),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: '/dashboard/employees',
|
name: '/dashboard/employees',
|
||||||
page: () => EmployeesScreen(),
|
page: () => EmployeesScreen(),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user