registerTerminalInNotifications method

Future<bool> registerTerminalInNotifications({
  1. Terminal? terminal,
})

Implementation

Future<bool> registerTerminalInNotifications({
  Terminal? terminal,
}) async {
  final manager = this as TerminalManager;
  if (!isReady) {
    logger.warning(
      this,
      'Terminal Manager Service not initialised, call initialise first',
    );

    return false;
  }

  if (!authService.isAuthenticated) {
    logger.warning(
      this,
      'user not authenticated, device registration cancelled for device: ${terminal?.name}',
    );

    return false;
  }

  final isGetItRegistered = core.isRegistered<RealTimeNotificationService>(
    name: manager.signalRNotificationService.providerName,
  );
  if (isGetItRegistered) {
    final realtimeNotificationService = core.get<RealTimeNotificationService>(
      name: manager.signalRNotificationService.providerName,
    );

    if (realtimeNotificationService.isReady && terminal != null) {
      await realtimeNotificationService.register(terminal);
      return true;
    }
  }
  print(
      '### TerminalManagerTerminal - registerTerminalInNotifications - not registered');
  return false;
}