runPostLoginTasks static method

Future<void> runPostLoginTasks()

Implementation

static Future<void> runPostLoginTasks() async {
  AppConfig.logger.i("Running post-login initialization tasks...");

  final userServiceImpl = Get.find<UserService>();
  // Todas las microtareas van aquí
  String deviceFcmToken = await getFcmToken();

  userServiceImpl.getUserSubscription();
  Future.microtask(() => UserFirestore().updateLastTimeOn(userServiceImpl.user.id));
  Future.microtask(() => AppHiveController().fetchCachedData());
  Future.microtask(() => AppHiveController().fetchSettingsData());

  if(userServiceImpl.user.fcmToken.isEmpty || userServiceImpl.user.fcmToken != deviceFcmToken) {
    Future.microtask(() => UserFirestore().updateFcmToken(userServiceImpl.user.id, deviceFcmToken));
  }

  Future.microtask(() => userServiceImpl.verifyLocation());
  Future.microtask(() => Get.find<NotificationService>().init());
  Future.microtask(() => AppHiveController().setFirstTime(false));

}