Here is my Auth middleware:
import 'package:donirajkrv/controllers/user_controller.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class AuthMiddleware extends GetMiddleware {
final authService = Get.find<UserController>().isUserLogged; // Here is error, this line can't find UserController
@override
int? get priority => 1;
bool isAuthenticated = false;
@override
RouteSettings? redirect(String? route) {
isAuthenticated = true;
if (isAuthenticated == false) {
return const RouteSettings(name: '/login');
}
return null;
}
}
A line from above (where is my comment) returns me an error:
════════ Exception caught by widgets library ═══════════════════════════════════
The following message was thrown building MyApp(dirty):
"UserController" not found. You need to call "Get.put(UserController())" or "Get.lazyPut(()=>UserController())"
The relevant error-causing widget was
MyApp
lib/main.dart:9
And middleware makes me that error.
...
GetMaterialApp(
initialBinding: UserBinding(),
...
I have tried to fix this with:
GetPage(
name: '/${Routes.HOME_PAGE}',
page: () => const HomePage(),
binding: UserBinding(),
middlewares: [AuthMiddleware()])
But again same error.